Commit 1b84441a authored by Tom Lane's avatar Tom Lane

Marginal improvement in logging: include the function name when logging

a fastpath function call.
parent 4887f5f9
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/tcop/fastpath.c,v 1.93 2006/10/04 00:29:58 momjian Exp $ * $PostgreSQL: pgsql/src/backend/tcop/fastpath.c,v 1.94 2006/10/19 22:44:11 tgl Exp $
* *
* NOTES * NOTES
* This cruft is the server side of PQfn. * This cruft is the server side of PQfn.
...@@ -51,6 +51,7 @@ struct fp_info ...@@ -51,6 +51,7 @@ struct fp_info
Oid namespace; /* other stuff from pg_proc */ Oid namespace; /* other stuff from pg_proc */
Oid rettype; Oid rettype;
Oid argtypes[FUNC_MAX_ARGS]; 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) ...@@ -229,6 +230,7 @@ fetch_fp_info(Oid func_id, struct fp_info * fip)
fip->namespace = pp->pronamespace; fip->namespace = pp->pronamespace;
fip->rettype = pp->prorettype; fip->rettype = pp->prorettype;
memcpy(fip->argtypes, pp->proargtypes.values, pp->pronargs * sizeof(Oid)); memcpy(fip->argtypes, pp->proargtypes.values, pp->pronargs * sizeof(Oid));
strlcpy(fip->fname, NameStr(pp->proname), NAMEDATALEN);
ReleaseSysCache(func_htp); ReleaseSysCache(func_htp);
...@@ -316,15 +318,6 @@ HandleFunctionRequest(StringInfo msgBuf) ...@@ -316,15 +318,6 @@ HandleFunctionRequest(StringInfo msgBuf)
fid = (Oid) pq_getmsgint(msgBuf, 4); /* function oid */ 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 * There used to be a lame attempt at caching lookup info here. Now we
* just do the lookups on every call. * just do the lookups on every call.
...@@ -332,6 +325,15 @@ HandleFunctionRequest(StringInfo msgBuf) ...@@ -332,6 +325,15 @@ HandleFunctionRequest(StringInfo msgBuf)
fip = &my_fp; fip = &my_fp;
fetch_fp_info(fid, fip); 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 * Check permission to access and call function. Since we didn't go
* through a normal name lookup, we need to check schema usage too. * through a normal name lookup, we need to check schema usage too.
...@@ -404,8 +406,8 @@ HandleFunctionRequest(StringInfo msgBuf) ...@@ -404,8 +406,8 @@ HandleFunctionRequest(StringInfo msgBuf)
break; break;
case 2: case 2:
ereport(LOG, ereport(LOG,
(errmsg("duration: %s ms fastpath function call: function OID %u", (errmsg("duration: %s ms fastpath function call: \"%s\" (OID %u)",
msec_str, fid))); msec_str, fip->fname, fid)));
break; break;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment