diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2009-12-15 20:04:49 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2009-12-15 20:04:49 +0000 |
commit | a5495cd8411b65de86a0ad5bf4e29a8e985eb677 (patch) | |
tree | 428c2686c4a32c3a30467bf5a5e738e4549c6058 /src/include | |
parent | 34d26872ed816b299eef2fa4240d55316697f42d (diff) |
Add a hook to let loadable modules get control at ProcessUtility execution,
and use it to extend contrib/pg_stat_statements to track utility commands.
Itagaki Takahiro, reviewed by Euler Taveira de Oliveira.
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/tcop/utility.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/include/tcop/utility.h b/src/include/tcop/utility.h index 271a97d690a..8db35f6a01a 100644 --- a/src/include/tcop/utility.h +++ b/src/include/tcop/utility.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/include/tcop/utility.h,v 1.37 2009/12/01 02:31:13 momjian Exp $ + * $PostgreSQL: pgsql/src/include/tcop/utility.h,v 1.38 2009/12/15 20:04:49 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -17,9 +17,18 @@ #include "tcop/tcopprot.h" +/* Hook for plugins to get control in ProcessUtility() */ +typedef void (*ProcessUtility_hook_type) (Node *parsetree, + const char *queryString, ParamListInfo params, bool isTopLevel, + DestReceiver *dest, char *completionTag); +extern PGDLLIMPORT ProcessUtility_hook_type ProcessUtility_hook; + extern void ProcessUtility(Node *parsetree, const char *queryString, ParamListInfo params, bool isTopLevel, DestReceiver *dest, char *completionTag); +extern void standard_ProcessUtility(Node *parsetree, const char *queryString, + ParamListInfo params, bool isTopLevel, + DestReceiver *dest, char *completionTag); extern bool UtilityReturnsTuples(Node *parsetree); |