Re: IndexAmRoutine aminsertcleanup function can be NULL?
Japin Li <japinli@hotmail.com>
From: Japin Li <japinli@hotmail.com>
To: Peter Smith <smithpb2250@gmail.com>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-07-17T05:34:42Z
Lists: pgsql-hackers
On Wed, 16 Jul 2025 at 10:08, Peter Smith <smithpb2250@gmail.com> wrote: > Hi hackers. > > I happened to notice that many contrib module indexes do not implement > an aminsertcleanup function: > e.g. amroutine->aminsertcleanup = NULL; > > But, unlike many of the other interface functions, the aminsertcleanup > does not say "/* can be NULL */" in the typedef struct IndexAmRoutine > [1]. > > What's going on there? Is it just an accidentally missing "/* can be > NULL */" comment? > It appears commit c1ec02be1d79 is missing the comment. > Same also in the documentation... [2] > > ====== > [1] https://github.com/postgres/postgres/blob/master/src/include/access/amapi.h > [2] https://www.postgresql.org/docs/devel/index-api.html > How about asserting the existence of all required callbacks, similar to GetTableAmRoutine()? -- Regards, Japin Li
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