Re: making EXPLAIN extensible

From: Sami Imseih <samimseih(at)gmail(dot)com>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, 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>
Subject: Re: making EXPLAIN extensible
Date: 2025-03-19 15:38:26
Message-ID: CAA5RZ0s=NYuB1SnuGmCbeC1=a0adQLmwSw3V-7E33u2R1=9JaA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> On Tue, Mar 18, 2025 at 11:21 PM Sami Imseih <samimseih(at)gmail(dot)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.

done

> 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.

on second thought, no reason for the detailed explanation...

> Is there any value in passing "options" or "pstate" to the hook?
> Couldn't the hook want to use "pstate" for error reporting purposes?

... as I made the hook signature match that of
ParseExplainOptionList, so both pstate and the options list
are now available to the hook.

--

Sami Imseih
Amazon Web Services (AWS)

Attachment Content-Type Size
v2-0001-Add-new-hooks-for-performing-additional-EXPLAIN-o.patch application/octet-stream 2.3 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Nathan Bossart 2025-03-19 15:40:31 Re: Disabling vacuum truncate for autovacuum
Previous Message Fujii Masao 2025-03-19 15:34:59 Re: Disabling vacuum truncate for autovacuum