postgres.git / summary / log / commit / refs
commit 01a479745488533aaa2c23d021c1f535a910ed07
Author: Michael Paquier <michael@paquier.xyz>
Date: Mon May 18 02:11:46 2026 +0000
First released in: 17.11, 18.6
injection_points: Move some structs to new header injection_points.h
This commit moves the definitions of InjectionPointConditionType and
InjectionPointCondition into a new header local to the test module
injection_points.h, so as these can be shared across more files in the
module. A patch for a bug fix is under discussion, whose proposed test
will benefit from this refactoring.
Backpatch down to where the module exists, as this should be useful for
future bug fixes, even cases unrelated to the thread where this change
has been discussed.
Author: Andrey Borodin <x4mmm@yandex-team.ru>
Author: Vlad Lesin <vladlesin@gmail.com>
Discussion: https://postgr.es/m/d2983796-2603-41b7-a66e-fc8489ddb954@gmail.com
Backpatch-through: 17
.../modules/injection_points/injection_points.c | 25 +---------------
.../modules/injection_points/injection_points.h | 33 ++++++++++++++++++++++
2 files changed, 34 insertions(+), 24 deletions(-)
diff --git a/src/test/modules/injection_points/injection_points.c b/src/test/modules/injection_points/injection_points.c
index 1b695a18203..df481671222 100644
--- a/src/test/modules/injection_points/injection_points.c
+++ b/src/test/modules/injection_points/injection_points.c
@@ -18,6 +18,7 @@
#include "postgres.h"
#include "fmgr.h"
+#include "injection_points.h"
#include "miscadmin.h"
#include "nodes/pg_list.h"
#include "nodes/value.h"
@@ -37,30 +38,6 @@ PG_MODULE_MAGIC;
#define INJ_MAX_WAIT 8
#define INJ_NAME_MAXLEN 64
-/*
- * Conditions related to injection points. This tracks in shared memory the
- * runtime conditions under which an injection point is allowed to run,
- * stored as private_data when an injection point is attached, and passed as
- * argument to the callback.
- *
- * If more types of runtime conditions need to be tracked, this structure
- * should be expanded.
- */
-typedef enum InjectionPointConditionType
-{
- INJ_CONDITION_ALWAYS = 0, /* always run */
- INJ_CONDITION_PID, /* PID restriction */
-} InjectionPointConditionType;
-
-typedef struct InjectionPointCondition
-{
- /* Type of the condition */
- InjectionPointConditionType type;
-
- /* ID of the process where the injection point is allowed to run */
- int pid;
-} InjectionPointCondition;
-
/*
* List of injection points stored in TopMemoryContext attached
* locally to this process.
diff --git a/src/test/modules/injection_points/injection_points.h b/src/test/modules/injection_points/injection_points.h
new file mode 100644
index 00000000000..caabc4ffb32
--- /dev/null
+++ b/src/test/modules/injection_points/injection_points.h
@@ -0,0 +1,33 @@
+/*-------------------------------------------------------------------------
+ *
+ * injection_points.h
+ * Definitions for the injection points module
+ *
+ * Portions Copyright (c) 1996-2026, PostgreSQL Global Development Group
+ * Portions Copyright (c) 1994, Regents of the University of California
+ *
+ * IDENTIFICATION
+ * src/test/modules/injection_points/injection_points.h
+ *
+ *-------------------------------------------------------------------------
+ */
+
+#ifndef INJECTION_POINTS_H
+#define INJECTION_POINTS_H
+
+typedef enum InjectionPointConditionType
+{
+ INJ_CONDITION_ALWAYS = 0, /* always run */
+ INJ_CONDITION_PID, /* PID restriction */
+} InjectionPointConditionType;
+
+typedef struct InjectionPointCondition
+{
+ /* Type of the condition */
+ InjectionPointConditionType type;
+
+ /* ID of the process where the injection point is allowed to run */
+ int pid;
+} InjectionPointCondition;
+
+#endif /* INJECTION_POINTS_H */
[parent: 15f4e3d0ce92]