Re: Add tests for object size limits of injection points
Chao Li <li.evan.chao@gmail.com>
From: Chao Li <li.evan.chao@gmail.com>
To: Michael Paquier <michael@paquier.xyz>
Cc: Postgres hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-11-10T02:30:31Z
Lists: pgsql-hackers
> On Nov 10, 2025, at 09:11, Michael Paquier <michael@paquier.xyz> wrote:
>
> Hi all,
>
> While looking at a recent patch for injection points that has resulted
> in 16a2f706951e, I have been reminded that the point name, library
> name and function name have hardcoded limits, and it is now possible
> to have them tested by SQL.
>
> Attached is a patch to do so. Thoughts?
> --
> Michael
> <0001-injection_points-Add-tests-for-name-limits.patch>
Maybe not a problem of this patch, but
```
+SELECT injection_points_attach(repeat('a', 64), 'injection_notice',
+ 'TestInjectionNoticeFunc', NULL);
+ERROR: injection point name aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa too long (maximum of 64)
```
Is really confused. The error message says “maximum of 64”, but the test right uses a name of length 64. I know that the tricky is the ‘\0’ terminator, but should SQL writer have to keep mind about the ‘\0’ terminator? Should they just consider maximum length as 63?
Best regards,
--
Chao Li (Evan)
HighGo Software Co., Ltd.
https://www.highgo.com/
Commits
-
injection_points: Add tests for name limits
- fb9bff045421 19 (unreleased) landed
-
Report better object limits in error messages for injection points
- f30cd34b3fd0 17.8 landed
- 84e826567cb8 18.2 landed
- 6e1535308c84 19 (unreleased) landed