report_triggers_listname.patch
application/octet-stream
Filename: report_triggers_listname.patch
Type: application/octet-stream
Part: 0
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: unified
| File | + | − |
|---|---|---|
| src/backend/commands/explain.c | 8 | 5 |
diff --git a/src/backend/commands/explain.c b/src/backend/commands/explain.c
index e6edae0845c..854a148fbf3 100644
--- a/src/backend/commands/explain.c
+++ b/src/backend/commands/explain.c
@@ -70,7 +70,7 @@ static void ExplainPrintJIT(ExplainState *es, int jit_flags,
static void ExplainPrintSerialize(ExplainState *es,
SerializeMetrics *metrics);
static void report_triggers(ResultRelInfo *rInfo, bool show_relname,
- ExplainState *es);
+ ExplainState *es, char *list_name);
static double elapsed_time(instr_time *starttime);
static bool ExplainPreScanNode(PlanState *planstate, Bitmapset **rels_used);
static void ExplainNode(PlanState *planstate, List *ancestors,
@@ -850,19 +850,19 @@ ExplainPrintTriggers(ExplainState *es, QueryDesc *queryDesc)
foreach(l, resultrels)
{
rInfo = (ResultRelInfo *) lfirst(l);
- report_triggers(rInfo, show_relname, es);
+ report_triggers(rInfo, show_relname, es, "resultrels");
}
foreach(l, routerels)
{
rInfo = (ResultRelInfo *) lfirst(l);
- report_triggers(rInfo, show_relname, es);
+ report_triggers(rInfo, show_relname, es, "routerels");
}
foreach(l, targrels)
{
rInfo = (ResultRelInfo *) lfirst(l);
- report_triggers(rInfo, show_relname, es);
+ report_triggers(rInfo, show_relname, es, "trigrels");
}
ExplainCloseGroup("Triggers", "Triggers", false, es);
@@ -1090,7 +1090,8 @@ ExplainQueryParameters(ExplainState *es, ParamListInfo params, int maxlen)
* report execution stats for a single relation's triggers
*/
static void
-report_triggers(ResultRelInfo *rInfo, bool show_relname, ExplainState *es)
+report_triggers(ResultRelInfo *rInfo, bool show_relname, ExplainState *es,
+ char *list_name)
{
int nt;
@@ -1134,6 +1135,8 @@ report_triggers(ResultRelInfo *rInfo, bool show_relname, ExplainState *es)
appendStringInfo(es->str, " for constraint %s", conname);
if (show_relname)
appendStringInfo(es->str, " on %s", relname);
+ if (list_name)
+ appendStringInfo(es->str, " in List %s", list_name);
if (es->timing)
appendStringInfo(es->str, ": time=%.3f calls=%.0f\n",
1000.0 * instr->total, instr->ntuples);