|
8 | 8 | *
|
9 | 9 | *
|
10 | 10 | * IDENTIFICATION
|
11 |
| - * $PostgreSQL: pgsql/src/backend/tcop/fastpath.c,v 1.93 2006/10/04 00:29:58 momjian Exp $ |
| 11 | + * $PostgreSQL: pgsql/src/backend/tcop/fastpath.c,v 1.94 2006/10/19 22:44:11 tgl Exp $ |
12 | 12 | *
|
13 | 13 | * NOTES
|
14 | 14 | * This cruft is the server side of PQfn.
|
@@ -51,6 +51,7 @@ struct fp_info
|
51 | 51 | Oidnamespace;/* other stuff from pg_proc */
|
52 | 52 | Oidrettype;
|
53 | 53 | Oidargtypes[FUNC_MAX_ARGS];
|
| 54 | +charfname[NAMEDATALEN];/* function name for logging */ |
54 | 55 | };
|
55 | 56 |
|
56 | 57 |
|
@@ -229,6 +230,7 @@ fetch_fp_info(Oid func_id, struct fp_info * fip)
|
229 | 230 | fip->namespace=pp->pronamespace;
|
230 | 231 | fip->rettype=pp->prorettype;
|
231 | 232 | memcpy(fip->argtypes,pp->proargtypes.values,pp->pronargs*sizeof(Oid));
|
| 233 | +strlcpy(fip->fname,NameStr(pp->proname),NAMEDATALEN); |
232 | 234 |
|
233 | 235 | ReleaseSysCache(func_htp);
|
234 | 236 |
|
@@ -316,22 +318,22 @@ HandleFunctionRequest(StringInfo msgBuf)
|
316 | 318 |
|
317 | 319 | fid= (Oid)pq_getmsgint(msgBuf,4);/* function oid */
|
318 | 320 |
|
319 |
| -/* Log as soon as we have the function OID */ |
320 |
| -if (log_statement==LOGSTMT_ALL) |
321 |
| -{ |
322 |
| -ereport(LOG, |
323 |
| -(errmsg("fastpath function call: function OID %u", |
324 |
| -fid))); |
325 |
| -was_logged= true; |
326 |
| -} |
327 |
| - |
328 | 321 | /*
|
329 | 322 | * There used to be a lame attempt at caching lookup info here. Now we
|
330 | 323 | * just do the lookups on every call.
|
331 | 324 | */
|
332 | 325 | fip=&my_fp;
|
333 | 326 | fetch_fp_info(fid,fip);
|
334 | 327 |
|
| 328 | +/* Log as soon as we have the function OID and name */ |
| 329 | +if (log_statement==LOGSTMT_ALL) |
| 330 | +{ |
| 331 | +ereport(LOG, |
| 332 | +(errmsg("fastpath function call: \"%s\" (OID %u)", |
| 333 | +fip->fname,fid))); |
| 334 | +was_logged= true; |
| 335 | +} |
| 336 | + |
335 | 337 | /*
|
336 | 338 | * Check permission to access and call function. Since we didn't go
|
337 | 339 | * through a normal name lookup, we need to check schema usage too.
|
@@ -404,8 +406,8 @@ HandleFunctionRequest(StringInfo msgBuf)
|
404 | 406 | break;
|
405 | 407 | case2:
|
406 | 408 | ereport(LOG,
|
407 |
| -(errmsg("duration: %s ms fastpath function call:functionOID %u", |
408 |
| -msec_str,fid))); |
| 409 | +(errmsg("duration: %s ms fastpath function call:\"%s\" (OID %u)", |
| 410 | +msec_str,fip->fname,fid))); |
409 | 411 | break;
|
410 | 412 | }
|
411 | 413 |
|
|