mirror of
https://github.com/postgres/postgres.git
synced 2025-10-21 02:52:47 +03:00
Add extension_state member to PlannedStmt.
Extensions can stash data computed at plan time into this list using planner_shutdown_hook (or perhaps other mechanisms) and then access it from any code that has access to the PlannedStmt (such as explain hooks), allowing for extensible debugging and instrumentation of plans. Reviewed-by: Andrei Lepikhov <lepihov@gmail.com> Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us> Discussion: http://postgr.es/m/CA+TgmoYWKHU2hKr62Toyzh-kTDEnMDeLw7gkOOnjL-TnOUq0kQ@mail.gmail.com
This commit is contained in:
@@ -149,6 +149,15 @@ typedef struct PlannedStmt
|
||||
/* non-null if this is utility stmt */
|
||||
Node *utilityStmt;
|
||||
|
||||
/*
|
||||
* DefElem objects added by extensions, e.g. using planner_shutdown_hook
|
||||
*
|
||||
* Set each DefElem's defname to the name of the plugin or extension, and
|
||||
* the argument to a tree of nodes that all have copy and read/write
|
||||
* support.
|
||||
*/
|
||||
List *extension_state;
|
||||
|
||||
/* statement location in source string (copied from Query) */
|
||||
/* start location, or -1 if unknown */
|
||||
ParseLoc stmt_location;
|
||||
|
Reference in New Issue
Block a user