diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2023-03-24 17:07:14 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2023-03-24 17:07:22 -0400 |
commit | 3c05284d83b230728e59a25e828992037ef77096 (patch) | |
tree | 4e8ef1779b279c01ac28413f1ea7fccbcac9ed7f /src/include/commands/explain.h | |
parent | 5b140dc8f094e8a11fccab6bdee50d4c599e7444 (diff) |
Invent GENERIC_PLAN option for EXPLAIN.
This provides a very simple way to see the generic plan for a
parameterized query. Without this, it's necessary to define
a prepared statement and temporarily change plan_cache_mode,
which is a bit tedious.
One thing that's a bit of a hack perhaps is that we disable
execution-time partition pruning when the GENERIC_PLAN option
is given. That's because the pruning code may attempt to
fetch the value of one of the parameters, which would fail.
Laurenz Albe, reviewed by Julien Rouhaud, Christoph Berg,
Michel Pelletier, Jim Jones, and myself
Discussion: https://postgr.es/m/0a29b954b10b57f0d135fe12aa0909bd41883eb0.camel@cybertec.at
Diffstat (limited to 'src/include/commands/explain.h')
-rw-r--r-- | src/include/commands/explain.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/include/commands/explain.h b/src/include/commands/explain.h index 7c1071ddd16..3d3e632a0cc 100644 --- a/src/include/commands/explain.h +++ b/src/include/commands/explain.h @@ -46,6 +46,7 @@ typedef struct ExplainState bool timing; /* print detailed node timing */ bool summary; /* print total planning and execution timing */ bool settings; /* print modified settings */ + bool generic; /* generate a generic plan */ ExplainFormat format; /* output format */ /* state for output formatting --- not reset for each new plan tree */ int indent; /* current indentation level */ |