Re: IndexAmRoutine aminsertcleanup function can be NULL?
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: Japin Li <japinli@hotmail.com>
Cc: Peter Smith <smithpb2250@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-07-22T05:36:37Z
Lists: pgsql-hackers
On Thu, Jul 17, 2025 at 01:34:42PM +0800, Japin Li wrote: > On Wed, 16 Jul 2025 at 10:08, Peter Smith <smithpb2250@gmail.com> wrote: >> What's going on there? Is it just an accidentally missing "/* can be >> NULL */" comment? > > It appears commit c1ec02be1d79 is missing the comment. Agreed. That's user-visible, so backpatched down to v17. > How about asserting the existence of all required callbacks, similar to > GetTableAmRoutine()? Hmm, we could do something like that to enforce a stronger policy, yes. At least that seems sensible to me to be able to detect faster a problem rather than waiting for the backend to report the issue with a crash when testing a dedicated code path where one of these callbacks is run. As a HEAD-only thing, of course. I was reading the page, and some of the functions in the docs are documented as optional with the matching NULL description. It is the case of aminsertcleanup as well, one paragraph above with the part about "may define". -- Michael
Commits
-
Add assertions for all the required index AM callbacks
- 6f22a82a401d 19 (unreleased) landed
-
doc: Inform about aminsertcleanup optional NULLness
- d331243dc95d 17.6 landed
- 282b10cb055e 18.0 landed
- 19179dbffc8f 19 (unreleased) landed
-
Reuse BrinDesc and BrinRevmap in brininsert
- c1ec02be1d79 17.0 cited