pgsql: injection_points: Add injection_points_list()

Started by Michael Paquier12 months ago3 messagescomitters
Jump to latest
#1Michael Paquier
michael@paquier.xyz

injection_points: Add injection_points_list()

This function can be used to retrieve the information about all the
injection points attached to a cluster, providing coverage for
InjectionPointList() introduced in 7b2eb72b1b8c.

The original proposal turned around a system function, but that would
not be backpatchable to stable branches. It was also a bit weird to
have a system function that fails depending on if the build allows
injection points or not.

Reviewed-by: Aleksander Alekseev <aleksander@timescale.com>
Reviewed-by: Rahila Syed <rahilasyed90@gmail.com>
Discussion: /messages/by-id/Z_xYkA21KyLEHvWR@paquier.xyz

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/4eca711bc991954613261b7a314b1e8f5963815c

Modified Files
--------------
.../injection_points/expected/injection_points.out | 16 +++++++++
.../injection_points/injection_points--1.0.sql | 12 +++++++
.../modules/injection_points/injection_points.c | 39 ++++++++++++++++++++++
.../injection_points/sql/injection_points.sql | 7 ++++
4 files changed, 74 insertions(+)

#2Aleksander Alekseev
aleksander@timescale.com
In reply to: Michael Paquier (#1)
Re: pgsql: injection_points: Add injection_points_list()

Hi Michael,

injection_points: Add injection_points_list()

This function can be used to retrieve the information about all the
injection points attached to a cluster, providing coverage for
InjectionPointList() introduced in 7b2eb72b1b8c.

The original proposal turned around a system function, but that would
not be backpatchable to stable branches. It was also a bit weird to
have a system function that fails depending on if the build allows
injection points or not.

In injection_points_list() isn't `memset(values, 0, sizeof(values))`
redundant? Also perhaps we want to pfree inj_points.

These are minor issues of course.

#3Michael Paquier
michael@paquier.xyz
In reply to: Aleksander Alekseev (#2)
Re: pgsql: injection_points: Add injection_points_list()

On Thu, Jul 10, 2025 at 01:24:48PM +0300, Aleksander Alekseev wrote:

In injection_points_list() isn't `memset(values, 0, sizeof(values))`
redundant?

Yes, I'm just finding this to be a cleaner practice.

Also perhaps we want to pfree inj_points.

This is freed with the memory context of the function, so any way is
fine IMO.
--
Michael