v0-0001-Add-into-pg_overexplain-example-on-a-hook-call-ch.patch

text/x-patch

Filename: v0-0001-Add-into-pg_overexplain-example-on-a-hook-call-ch.patch
Type: text/x-patch
Part: 0
Message: Re: making EXPLAIN extensible

Patch

Same data as JSON: GET /api/v1/attachments/:id/patch the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes. API reference →
Format: format-patch
Series: patch v0-0001
Subject: Add into pg_overexplain example on a hook call chain agreement.
File+
contrib/pg_overexplain/pg_overexplain.c 8 0
From 03a88d291cfe085bcff10e0595a679bcfcf14fc8 Mon Sep 17 00:00:00 2001
From: "Andrei V. Lepikhov" <lepihov@gmail.com>
Date: Thu, 27 Mar 2025 22:27:33 +0100
Subject: [PATCH v0] Add into pg_overexplain example on a hook call chain
 agreement.

---
 contrib/pg_overexplain/pg_overexplain.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/contrib/pg_overexplain/pg_overexplain.c b/contrib/pg_overexplain/pg_overexplain.c
index 4554c3abbbf..5f623e06019 100644
--- a/contrib/pg_overexplain/pg_overexplain.c
+++ b/contrib/pg_overexplain/pg_overexplain.c
@@ -135,6 +135,10 @@ overexplain_per_node_hook(PlanState *planstate, List *ancestors,
 	overexplain_options *options;
 	Plan	   *plan = planstate->plan;
 
+	if (prev_explain_per_node_hook)
+		(*prev_explain_per_node_hook) (planstate, ancestors, relationship,
+									   plan_name, es);
+
 	options = GetExplainExtensionState(es, es_extension_id);
 	if (options == NULL)
 		return;
@@ -251,6 +255,10 @@ overexplain_per_plan_hook(PlannedStmt *plannedstmt,
 {
 	overexplain_options *options;
 
+	if (prev_explain_per_plan_hook)
+		(*prev_explain_per_plan_hook) (plannedstmt, into, es, queryString,
+									   params, queryEnv);
+
 	options = GetExplainExtensionState(es, es_extension_id);
 	if (options == NULL)
 		return;
-- 
2.39.5