summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane2006-10-19 22:44:11 +0000
committerTom Lane2006-10-19 22:44:11 +0000
commit34aa411b2768cc80ad3b26393fbfc502562e13e0 (patch)
tree472a6a5405036112ad69a6ed00c887552b38e83c
parent536615654124300a6f7d3c8db220f657874c9ada (diff)
Marginal improvement in logging: include the function name when logging
a fastpath function call.
-rw-r--r--src/backend/tcop/fastpath.c24
1 files changed, 13 insertions, 11 deletions
diff --git a/src/backend/tcop/fastpath.c b/src/backend/tcop/fastpath.c
index baad3237f2..f5a705bd9d 100644
--- a/src/backend/tcop/fastpath.c
+++ b/src/backend/tcop/fastpath.c
@@ -51,6 +51,7 @@ struct fp_info
Oid namespace; /* other stuff from pg_proc */
Oid rettype;
Oid argtypes[FUNC_MAX_ARGS];
+ char fname[NAMEDATALEN]; /* function name for logging */
};
@@ -229,6 +230,7 @@ fetch_fp_info(Oid func_id, struct fp_info * fip)
fip->namespace = pp->pronamespace;
fip->rettype = pp->prorettype;
memcpy(fip->argtypes, pp->proargtypes.values, pp->pronargs * sizeof(Oid));
+ strlcpy(fip->fname, NameStr(pp->proname), NAMEDATALEN);
ReleaseSysCache(func_htp);
@@ -316,15 +318,6 @@ HandleFunctionRequest(StringInfo msgBuf)
fid = (Oid) pq_getmsgint(msgBuf, 4); /* function oid */
- /* Log as soon as we have the function OID */
- if (log_statement == LOGSTMT_ALL)
- {
- ereport(LOG,
- (errmsg("fastpath function call: function OID %u",
- fid)));
- was_logged = true;
- }
-
/*
* There used to be a lame attempt at caching lookup info here. Now we
* just do the lookups on every call.
@@ -332,6 +325,15 @@ HandleFunctionRequest(StringInfo msgBuf)
fip = &my_fp;
fetch_fp_info(fid, fip);
+ /* Log as soon as we have the function OID and name */
+ if (log_statement == LOGSTMT_ALL)
+ {
+ ereport(LOG,
+ (errmsg("fastpath function call: \"%s\" (OID %u)",
+ fip->fname, fid)));
+ was_logged = true;
+ }
+
/*
* Check permission to access and call function. Since we didn't go
* through a normal name lookup, we need to check schema usage too.
@@ -404,8 +406,8 @@ HandleFunctionRequest(StringInfo msgBuf)
break;
case 2:
ereport(LOG,
- (errmsg("duration: %s ms fastpath function call: function OID %u",
- msec_str, fid)));
+ (errmsg("duration: %s ms fastpath function call: \"%s\" (OID %u)",
+ msec_str, fip->fname, fid)));
break;
}