From: Robert Haas Date: Fri, 28 Mar 2025 12:59:33 +0000 (-0400) Subject: pg_overexplain: Call previous hooks as appropriate. X-Git-Tag: REL_18_BETA1~399 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9f0c36aea0fba7d2b737964d34ed582edf644283;p=thirdparty%2Fpostgresql.git pg_overexplain: Call previous hooks as appropriate. It makes no sense to remember the previous values of the hook variables and then never bother calling those functions. Thanks to Andrei for spotting my goof. Author: Andrei Lepikhov Discussion: http://postgr.es/m/41a344e3-ffb1-4296-8ba7-801f1e9642e5@gmail.com --- 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;