public inbox for [email protected]
help / color / mirror / Atom feedFrom: Bertrand Drouvot <[email protected]>
Subject: [PATCH v3] Fix test_custom_stats modules to error out when not preloaded
Date: Thu, 2 Jul 2026 04:34:49 +0000
Previously, test_custom_var_stats and test_custom_fixed_stats silently
skipped pgstat_register_kind() when not loaded via shared_preload_libraries.
This left the SQL functions callable without the kind registered, leading to NULL
dereferences in core pgstat functions.
Remove the early return and let pgstat_register_kind() error out naturally,
matching the pattern used by test_custom_rmgrs with RegisterCustomRmgr(). Now
CREATE EXTENSION fails with a clear error if the module is not preloaded.
Author: Bertrand Drouvot <[email protected]>
Reviewed-by: Ewan Young <[email protected]>
Discussion: https://postgr.es/m/akS/ldidWeqG1FWk%40bdtpg
---
.../modules/test_custom_stats/test_custom_fixed_stats.c | 9 ++++-----
.../modules/test_custom_stats/test_custom_var_stats.c | 9 ++++-----
2 files changed, 8 insertions(+), 10 deletions(-)
100.0% src/test/modules/test_custom_stats/
diff --git a/src/test/modules/test_custom_stats/test_custom_fixed_stats.c b/src/test/modules/test_custom_stats/test_custom_fixed_stats.c
index a066ce117a6..8b29ca3e27a 100644
--- a/src/test/modules/test_custom_stats/test_custom_fixed_stats.c
+++ b/src/test/modules/test_custom_stats/test_custom_fixed_stats.c
@@ -72,11 +72,10 @@ static const PgStat_KindInfo custom_stats = {
void
_PG_init(void)
{
- /* Must be loaded via shared_preload_libraries */
- if (!process_shared_preload_libraries_in_progress)
- return;
-
- /* Register custom statistics kind */
+ /*
+ * In order to register our custom statistics kind, we have to be loaded
+ * via shared_preload_libraries. Otherwise, registration will fail.
+ */
pgstat_register_kind(PGSTAT_KIND_TEST_CUSTOM_FIXED_STATS, &custom_stats);
}
diff --git a/src/test/modules/test_custom_stats/test_custom_var_stats.c b/src/test/modules/test_custom_stats/test_custom_var_stats.c
index 863d6a52492..fa415c81301 100644
--- a/src/test/modules/test_custom_stats/test_custom_var_stats.c
+++ b/src/test/modules/test_custom_stats/test_custom_var_stats.c
@@ -129,11 +129,10 @@ static const PgStat_KindInfo custom_stats = {
void
_PG_init(void)
{
- /* Must be loaded via shared_preload_libraries */
- if (!process_shared_preload_libraries_in_progress)
- return;
-
- /* Register custom statistics kind */
+ /*
+ * In order to register our custom statistics kind, we have to be loaded
+ * via shared_preload_libraries. Otherwise, registration will fail.
+ */
pgstat_register_kind(PGSTAT_KIND_TEST_CUSTOM_VAR_STATS, &custom_stats);
}
--
2.34.1
--i51FQWZELabmlh2Y--
view thread (12+ messages)
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected]
Subject: Re: [PATCH v3] Fix test_custom_stats modules to error out when not preloaded
In-Reply-To: <no-message-id-1862543@localhost>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox