aboutsummaryrefslogtreecommitdiff
path: root/src/tools
diff options
context:
space:
mode:
authorRobert Haas <rhaas@postgresql.org>2025-03-18 08:41:12 -0400
committerRobert Haas <rhaas@postgresql.org>2025-03-18 08:41:12 -0400
commitc65bc2e1d14a2d4daed7c1921ac518f2c5ac3d17 (patch)
treeffb12e651e2d3603d3f11aef0449d90bd82ac087 /src/tools
parent9d6db8bec19413cd0167f1e59d1af005a997bd3e (diff)
downloadpostgresql-c65bc2e1d14a2d4daed7c1921ac518f2c5ac3d17.tar.gz
postgresql-c65bc2e1d14a2d4daed7c1921ac518f2c5ac3d17.zip
Make it possible for loadable modules to add EXPLAIN options.
Modules can use RegisterExtensionExplainOption to register new EXPLAIN options, and GetExplainExtensionId, GetExplainExtensionState, and SetExplainExtensionState to store related state inside the ExplainState object. Since this substantially increases the amount of code that needs to handle ExplainState-related tasks, move a few bits of existing code to a new file explain_state.c and add the rest of this infrastructure there. See the comments at the top of explain_state.c for further explanation of how this mechanism works. This does not yet provide a way for such such options to do anything useful. The intention is that we'll add hooks for that purpose in a separate commit. Discussion: http://postgr.es/m/CA+TgmoYSzg58hPuBmei46o8D3SKX+SZoO4K_aGQGwiRzvRApLg@mail.gmail.com Reviewed-by: Srinath Reddy <srinath2133@gmail.com> Reviewed-by: Andrei Lepikhov <lepihov@gmail.com> Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us> Reviewed-by: Sami Imseih <samimseih@gmail.com>
Diffstat (limited to 'src/tools')
-rw-r--r--src/tools/pgindent/typedefs.list2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index f4261145353..c04a47cf222 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -4271,3 +4271,5 @@ yyscan_t
z_stream
z_streamp
zic_t
+ExplainExtensionOption
+ExplainOptionHandler