Re: making EXPLAIN extensible
Robert Haas <robertmhaas@gmail.com>
From: Robert Haas <robertmhaas@gmail.com>
To: Sami Imseih <samimseih@gmail.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Jeff Davis <pgsql@j-davis.com>,
Thom Brown <thom@linux.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-03-19T14:38:13Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
pg_overexplain: Use PG_MODULE_MAGIC_EXT.
- 83ccc85859f3 18.0 landed
-
pg_overexplain: Call previous hooks as appropriate.
- 9f0c36aea0fb 18.0 landed
-
pg_overexplain: Additional EXPLAIN options for debugging.
- 8d5ceb113e3f 18.0 landed
-
Add an additional hook for EXPLAIN option validation.
- 50ba65e73325 18.0 landed
-
Add some new hooks so extensions can add details to EXPLAIN.
- 4fd02bf7cf94 18.0 landed
-
Make it possible for loadable modules to add EXPLAIN options.
- c65bc2e1d14a 18.0 landed
On Tue, Mar 18, 2025 at 11:21 PM Sami Imseih <samimseih@gmail.com> wrote: > > > Do you want to propose a patch? > > > > yes, will attach a patch shortly. > > Attached is a patch to add a hook to allow extensions > to add additional option validations. The hook takes > in the ExplainState as an argument and returns void. > It is expected the extension will raise an error if the > validation fails. Since the new hook will be called from explain_state.c, please declare it in explain_state.h. I think the header-file comment should be just one line rather than a block comment as we do for other hooks in this area. If you think a more detailed explanation is needed, I'd put that in the .c file. Is there any value in passing "options" or "pstate" to the hook? Couldn't the hook want to use "pstate" for error reporting purposes? -- Robert Haas EDB: http://www.enterprisedb.com