Re: making EXPLAIN extensible
Sami Imseih <samimseih@gmail.com>
From: Sami Imseih <samimseih@gmail.com>
To: Robert Haas <robertmhaas@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-18T03:54:32Z
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
> You only > need the second hook if you want to check the values of options > against the values of other options. +1 I did not think of adding a new hook, because there must be a really good reason to add a new hook. I think it's justified for this case. It's better than my approach since the extension author can just put all their checks in one place rather than having to register a bunch of handlers. > some loadable module adds two new options LEFT and RIGHT and wants to > check that you don't specify LEFT and RIGHT together? Either they > register the same validate handler for both, or they register the real > validate handler for one and a no-op handler for the other. Neither of > those options seems very appealing. When I thought about this, I figured that one of the options will register a validate handler and the other option will set the handler to NULL. But, I do see why this is not appealing. -- Sami