]> granicus.if.org Git - postgresql/commitdiff
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)
        {