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
From 3b5be939aa7502ed6566cb344a87c8e4bbedc12e Mon Sep 17 00:00:00 2001 From: Michael Paquier <[email protected]> Date: Mon, 10 Nov 2025 10:08:19 +0900 Subject: [PATCH] injection_points: Add tests for name limits --- .../injection_points/expected/injection_points.out | 9 +++++++++ .../modules/injection_points/sql/injection_points.sql | 6 ++++++ 2 files changed, 15 insertions(+) diff --git a/src/test/modules/injection_points/expected/injection_points.out b/src/test/modules/injection_points/expected/injection_points.out index e02d6446dd44..e89a9f3d0a37 100644 --- a/src/test/modules/injection_points/expected/injection_points.out +++ b/src/test/modules/injection_points/expected/injection_points.out @@ -308,6 +308,15 @@ SELECT injection_points_detach('TestConditionLocal1'); (1 row) -- Function variant for attach. +SELECT injection_points_attach(repeat('a', 64), 'injection_notice', + 'TestInjectionNoticeFunc', NULL); +ERROR: injection point name aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa too long (maximum of 64) +SELECT injection_points_attach('injection_points', repeat('a', 128), + 'TestInjectionNoticeFunc', NULL); +ERROR: injection point library aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa too long (maximum of 128) +SELECT injection_points_attach('injection_points', 'injection_notice', + repeat('a', 128), NULL); +ERROR: injection point function aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa too long (maximum of 128) SELECT injection_points_attach(NULL, NULL, NULL, NULL); ERROR: injection point name cannot be NULL SELECT injection_points_attach('injection_points', NULL, NULL, NULL); diff --git a/src/test/modules/injection_points/sql/injection_points.sql b/src/test/modules/injection_points/sql/injection_points.sql index 87f7184b291d..3418ede543a5 100644 --- a/src/test/modules/injection_points/sql/injection_points.sql +++ b/src/test/modules/injection_points/sql/injection_points.sql @@ -89,6 +89,12 @@ SELECT injection_points_attach('TestConditionLocal1', 'error'); SELECT injection_points_detach('TestConditionLocal1'); -- Function variant for attach. +SELECT injection_points_attach(repeat('a', 64), 'injection_notice', + 'TestInjectionNoticeFunc', NULL); +SELECT injection_points_attach('injection_points', repeat('a', 128), + 'TestInjectionNoticeFunc', NULL); +SELECT injection_points_attach('injection_points', 'injection_notice', + repeat('a', 128), NULL); SELECT injection_points_attach(NULL, NULL, NULL, NULL); SELECT injection_points_attach('injection_points', NULL, NULL, NULL); SELECT injection_points_attach('injection_points', 'injection_notice', NULL, NULL); -- 2.51.0
signature.asc
Description: PGP signature
