Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Track procedure calls in pg_stat_user_functions
authorPeter Eisentraut <peter_e@gmx.net>
Fri, 5 Oct 2018 12:14:03 +0000 (14:14 +0200)
committerPeter Eisentraut <peter_e@gmx.net>
Mon, 8 Oct 2018 09:22:53 +0000 (11:22 +0200)
This was forgotten when procedures were implemented.

Reported-by: Lukas Fittl <lukas@fittl.com>
src/backend/commands/functioncmds.c

index 6f629a00e8ac57287fafbd48f3eaa316ac328d79..3fd73a69f04ff16afd00e07efde9c533c49e0aea 100644 (file)
@@ -60,6 +60,7 @@
 #include "parser/parse_expr.h"
 #include "parser/parse_func.h"
 #include "parser/parse_type.h"
+#include "pgstat.h"
 #include "utils/acl.h"
 #include "utils/builtins.h"
 #include "utils/fmgroids.h"
@@ -2219,6 +2220,7 @@ ExecuteCallStmt(CallStmt *stmt, ParamListInfo params, bool atomic, DestReceiver
    EState     *estate;
    ExprContext *econtext;
    HeapTuple   tp;
+   PgStat_FunctionCallUsage fcusage;
    Datum       retval;
 
    fexpr = stmt->funcexpr;
@@ -2302,7 +2304,9 @@ ExecuteCallStmt(CallStmt *stmt, ParamListInfo params, bool atomic, DestReceiver
        i++;
    }
 
+   pgstat_init_function_usage(&fcinfo, &fcusage);
    retval = FunctionCallInvoke(&fcinfo);
+   pgstat_end_function_usage(&fcusage, true);
 
    if (fexpr->funcresulttype == VOIDOID)
    {