Re: Consistently use palloc_object() and palloc_array()
David Geier <geidav.pg@gmail.com>
From: David Geier <geidav.pg@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Michael Paquier <michael@paquier.xyz>,
Thomas Munro <thomas.munro@gmail.com>, Chao Li <li.evan.chao@gmail.com>,
pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2025-12-11T07:54:31Z
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 05.12.2025 15:47, Tom Lane wrote: > David Geier <geidav.pg@gmail.com> writes: >> My bad. I hadn't realized that - obviously - not necessarily all code is >> actually compiled by default. > >> Will the build system enable any target for which all dependencies (e.g. >> libraries) are met, or are there targets that need to be enabled >> explicitly? Is there a way to enable all of them so I can easily make >> sure, I actually compile all code? > > There's a good deal of platform-specific code in PG, particularly for > Windows, and obviously none of that will be built unless you're on the > right platform. (You can reach some of the Windows-specific code on > other systems with -DEXEC_BACKEND, but that goes only so far.) > > As for optional-feature stuff, I think the meson build system will by > default build every option it can find the supporting libraries for. > But the other side of that coin is that if you didn't install the > right packages it will silently not build it. > > I think the most reliable way is to look at "./configure --help" > and select all the options you think should work on your platform. > Then, if you forgot to install libfoo-devel or whatever, you'll > get configure failures. Thanks for the pointers. Do we know what code each build animal actually has enabled? The platform specific code is clear but anything that depends on specific libraries being installed is not. Do build animal owners try to enable as much code as possible, or is this completely up to what the owner happened to do when setting up the build animal? I'm wondering how much more code coverage we could get on each animal if maximized the amount of code that is enabled. -- David Geier