test_custom_stats: Fail if loading module outside shared_preload_libraries

Previously, test_custom_var_stats and test_custom_fixed_stats silently
skipped pgstat_register_kind() when not loaded via
shared_preload_libraries, behavior inherited from injection_points.
This left the SQL functions callable without the kind registered,
leading to various issues on the backend side.

This code is not designed to work without the pgstats kinds registered.
pgstat_register_kind() gets now called when these libraries are loaded,
with or without shared_preload_libraries, letting the registration fail
if loading the modules at a later step than startup.  test_custom_rmgrs
does the same thing.

Oversight in 31280d96a648.

Author: Bertrand Drouvot <[email protected]>
Reviewed-by: Ewan Young <[email protected]>
Discussion: https://postgr.es/m/akS/ldidWeqG1FWk@bdtpg
Backpatch-through: 19

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/5045d9ff3b5a8b09742d8bf70221c7d708305219

Modified Files
--------------
src/test/modules/test_custom_stats/test_custom_fixed_stats.c | 4 ----
src/test/modules/test_custom_stats/test_custom_var_stats.c   | 4 ----
2 files changed, 8 deletions(-)

Reply via email to