Re: making EXPLAIN extensible
Peter Eisentraut <peter@eisentraut.org>
From: Peter Eisentraut <peter@eisentraut.org>
To: Robert Haas <robertmhaas@gmail.com>, Tom Lane <tgl@sss.pgh.pa.us>
Cc: Jeff Davis <pgsql@j-davis.com>, Thom Brown <thom@linux.com>,
PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-03-07T14:38:15Z
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 06.03.25 21:23, Robert Haas wrote: > On Wed, Mar 5, 2025 at 4:38 PM Tom Lane <tgl@sss.pgh.pa.us> wrote: >> v4 has addressed most of my nitpicks, but you still have typedefs >> for ExplainState in both header files. My bet is that at least >> one buildfarm animal will complain about that. I could be wrong >> though, maybe all such compilers are in disuse now. > > Ugh, I suck at this, sorry. Adjusted in v5. It's hard to avoid the > conclusion that our IWYU configuration must be fairly lenient, because > every change seems to surface more source files that are depending on > indirect includes. Just to clarify this: Nobody has gone through and used IWYU to clean up indirect includes, as you appear to imagine here. My recent IWYU work was, besides putting some infrastructure in place, to clean up includes that are completely unneeded. Indirect includes cleanup is a different project that is not currently happening, AFAIK. Also, benign typedef redefinitions are a C11 feature. In practice, all compilers currently in play support it, and the only problem you'll get is from the buildfarm members that are explicitly set up to warn about accidental C11 use. We could probably have a discussion about that, but for this patch set, it's probably better to just deal with the status quo.