explain_validate_options_hook
explain_validate_options_hook
Hook to perform additional EXPLAIN options validation
Reading PostgreSQL 18.
Description
Hook to perform additional EXPLAIN options validation
- Interface type
- explain_validate_options_hook_type
- Header
- src/include/commands/explain_state.h
- Subsystem
- EXPLAIN
- Initial value
- NULL (no hook installed)
C interface
typedef void (*explain_validate_options_hook_type) (struct ExplainState *es, List *options, ParseState *pstate);
extern PGDLLIMPORT explain_validate_options_hook_type explain_validate_options_hook;Core source comments
plugin specific option validation
Call sites
src/backend/commands/explain_state.c:206
Core call context: src/backend/commands/explain_state.c:200–214
/* if the summary was not set explicitly, set default value */
es->summary = (summary_set) ? es->summary : es->analyze;
/* plugin specific option validation */
if (explain_validate_options_hook)
(*explain_validate_options_hook) (es, options, pstate);
}
/*
* Map the name of an EXPLAIN extension to an integer ID.
*
* Within the lifetime of a particular backend, the same name will be mapped
* to the same ID every time. IDs are not stable across backends. Use the ID
* that you get from this function to call GetExplainExtensionState andRelated entries
Documentation and source
Source build
- Version
- 18
- Build
- REL_18_STABLE
- Source fingerprint
753057e340da8f22e57c9a409ea7a235fd6a46bd
Compare versions
PostgreSQL 17 → 18: added.
--- PostgreSQL 17
+++ PostgreSQL 18
@@ -1 +1,22 @@
-Not recorded in this version
+{
+ "facts": [
+ {
+ "label": "Interface type",
+ "value": "explain_validate_options_hook_type"
+ },
+ {
+ "label": "Header",
+ "value": "src/include/commands/explain_state.h"
+ },
+ {
+ "label": "Subsystem",
+ "value": "EXPLAIN"
+ },
+ {
+ "label": "Initial value",
+ "value": "NULL (no hook installed)"
+ }
+ ],
+ "signature": "typedef void (*explain_validate_options_hook_type) (struct ExplainState *es, List *options, ParseState *pstate);\nextern PGDLLIMPORT explain_validate_options_hook_type explain_validate_options_hook;",
+ "tables": null
+}
Compares recorded interfaces and attributes. Source fingerprints and build metadata are excluded; an absent sample is not proof of the introduction or removal release.
Related entries
ExplainOneQuery_hookExplainOneQuery_hookexplain_get_index_name_hookexplain_get_index_name_hookexplain_per_node_hookexplain_per_node_hookexplain_per_plan_hookexplain_per_plan_hook
Export JSON · Back to Hooks · Recorded in PostgreSQL 18 through 20; the first sample is not necessarily its introduction.