Re: making EXPLAIN extensible

From: Andrei Lepikhov <lepihov(at)gmail(dot)com>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: Jeff Davis <pgsql(at)j-davis(dot)com>, Thom Brown <thom(at)linux(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Subject: Re: making EXPLAIN extensible
Date: 2025-03-18 12:02:08
Message-ID: 760b4c92-6790-40e1-8a2b-631744a51433@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 3/7/25 16:05, Robert Haas wrote:
I have attempted to use hooks, proposed in 0002, in my extensions.
At first, it worked great. My patch reduced a lot, and the only things
that I need in the planner to improve its predictions are the
selectivity hook and the create_plan hook - the last one needed to pass
data from the best_path chosen to the plan and needed to compare
prediction and reality at the end of execution.

Some questions:
1. I think, hooks ExplainOneQuery_hook_type, explain_per_plan_hook_type,
explain_per_node_hook_type deserve to be moved to explain_format.h
At least, inside the hook, we usually use functions like ExplainProperty.
2. In my patch I inserted the hook before the line 1894:
/* in text format, the first line ends here */
Why have you chosen a different way? I don't have specific reasons to
insist, except the extension data right under the node looks better to
me personally.

Some changes of the explain format have already been made in the current
master. Applying this proposal now would reduce additional work for
extension (and fork) maintainers in the next version.

--
regards, Andrei Lepikhov

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Shubham Khanna 2025-03-18 12:04:18 Re: Enhance 'pg_createsubscriber' to retrieve databases automatically when no database is provided.
Previous Message Ashutosh Bapat 2025-03-18 11:51:16 Re: Enhance 'pg_createsubscriber' to retrieve databases automatically when no database is provided.