From 08178c5820364143bc039717a4ac98a27c0a4cdb Mon Sep 17 00:00:00 2001
From: Michael Paquier <michael@paquier.xyz>
Date: Thu, 4 Sep 2025 16:19:03 +0900
Subject: [PATCH v3 2/2] Add injection point for OOM failure emulation

---
 src/backend/utils/activity/pgstat_shmem.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/backend/utils/activity/pgstat_shmem.c b/src/backend/utils/activity/pgstat_shmem.c
index 8f8b57e8ee8a..c48a52db1e88 100644
--- a/src/backend/utils/activity/pgstat_shmem.c
+++ b/src/backend/utils/activity/pgstat_shmem.c
@@ -14,6 +14,7 @@
 
 #include "pgstat.h"
 #include "storage/shmem.h"
+#include "utils/injection_point.h"
 #include "utils/memutils.h"
 #include "utils/pgstat_internal.h"
 
@@ -317,6 +318,9 @@ pgstat_init_entry(PgStat_Kind kind,
 	pg_atomic_init_u32(&shhashent->generation, 0);
 	shhashent->dropped = false;
 
+	if (IS_INJECTION_POINT_ATTACHED("pgstat-init-entry-oom"))
+		return NULL;
+
 	chunk = dsa_allocate_extended(pgStatLocal.dsa,
 								  pgstat_get_kind_info(kind)->shared_size,
 								  DSA_ALLOC_ZERO | DSA_ALLOC_NO_OOM);
-- 
2.51.0

