Re: Consistently use palloc_object() and palloc_array()
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: David Geier <geidav.pg@gmail.com>
Cc: Thomas Munro <thomas.munro@gmail.com>, Tom Lane <tgl@sss.pgh.pa.us>, Chao Li <li.evan.chao@gmail.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2025-12-03T00:35:52Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
btree_gist: Fix memory allocation formula
- 5cf03552fbb4 19 (unreleased) landed
-
Use palloc_object() and palloc_array(), the last change
- 4f7dacc5b82a 19 (unreleased) landed
-
pg_buffercache: Fix memory allocation formula
- 580b5c2f397f 18.2 landed
- 3f83de20ba2e 19 (unreleased) landed
-
Fix allocation formula in llvmjit_expr.c
- 0c67dbcc4e39 14.21 landed
- 07ddf6197b78 15.16 landed
- 5a4dc4aabd03 16.12 landed
- 0bab0c3b74af 17.8 landed
- 5b7bbf16db34 18.2 landed
- 06761b6096b6 19 (unreleased) landed
-
Use palloc_object() and palloc_array() in backend code
- 1b105f9472bd 19 (unreleased) landed
-
Use palloc_object() and palloc_array() in more areas of the tree
- 0c3c5c3b06a3 19 (unreleased) landed
-
Use more palloc_object() and palloc_array() in contrib/
- 31d3847a37be 19 (unreleased) landed
On Tue, Dec 02, 2025 at 04:13:01PM +0100, David Geier wrote: > So reviewing this patch can now be done by only going through all files > that have changes in the disassembly. This is only 54 out of which most > are because of changes in the number of LOC or where the brackets are > placed. It may be a good idea to split the patch into two parts, at least: - One for the bulk of the changes, for the straight-forward changes. Most of what you are suggesting are that for palloc_object and palloc_array which are dropped-in replacements. Checking that these assemble the same before and after offers one extra layer of confidence. - Second one for the more dubious changes. It does not change that all these need to be looked with human eyes. For the first one, splitting things based on the code area is simpler With more than 1.7k places changed, splitting by area and checking them individually would be the best course, at least for me when it comes to such mechanical changes. It comes down with dealing with individual doses that are not so large that they cause one's head to spin in the middle of checking the diffs (did that a few times in the past for this code tree, splitting and dose balance helps a lot). I cannot say for the others, but I find the type-safety argument mentioned upthread good enough to do a switch and encourage more the new style moving forward. -- Michael