postgresql/src/include/common
Peter Eisentraut b7f37af7c1 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.

This is backpatched from master so that future backpatchable code can
make use of these APIs.  This patch by itself does not contain any
users of these APIs.

Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
Discussion: https://www.postgresql.org/message-id/flat/bb755632-2a43-d523-36f8-a1e7a389a907@enterprisedb.com
2022-09-14 06:08:34 +02:00
..
archive.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
base64.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
checksum_helper.h Fix and simplify some code related to cryptohashes 2021-01-08 10:37:03 +09:00
config_info.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
connect.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
controldata_utils.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
cryptohash.h Revert error handling improvements for cryptohashes 2022-01-14 11:25:39 +09:00
fe_memutils.h Expand palloc/pg_malloc API for more type safety 2022-09-14 06:08:34 +02:00
file_perm.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
file_utils.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
hashfn.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
hmac.h Adjust locations which have an incorrect copyright year 2021-06-04 12:19:50 +12:00
int.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
int128.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
ip.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
jsonapi.h Improve reporting for syntax errors in multi-line JSON data. 2021-03-01 16:44:17 -05:00
keywords.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
kwlookup.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
link-canary.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
logging.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
md5.h Revert error handling improvements for cryptohashes 2022-01-14 11:25:39 +09:00
openssl.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
pg_lzcompress.h Optimize partial TOAST decompression 2019-10-01 14:28:28 +02:00
relpath.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
restricted_token.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
saslprep.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
scram-common.h Refactor HMAC implementations 2021-04-03 17:30:49 +09:00
sha1.h Adjust locations which have an incorrect copyright year 2021-06-04 12:19:50 +12:00
sha2.h Revert refactoring of hex code to src/common/ 2021-08-19 09:20:19 +09:00
shortest_dec.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
string.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
unicode_combining_table.h Update Unicode data to Unicode 13.0.0 and CLDR 37 2020-04-24 09:52:59 +02:00
unicode_norm.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
unicode_norm_hashfunc.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
unicode_norm_table.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
unicode_normprops_table.h Review format of code generated by PerfectHash.pm 2020-10-21 09:22:27 +09:00
username.h Update copyright for 2021 2021-01-02 13:06:25 -05:00