aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/cache/fcache.c
diff options
context:
space:
mode:
authorPostgreSQL Daemon <webmaster@postgresql.org>1998-01-15 19:46:37 +0000
committerPostgreSQL Daemon <webmaster@postgresql.org>1998-01-15 19:46:37 +0000
commitbaef78d96b799b6264a54f8cfce4fda2b2da9701 (patch)
treea842ceff78d7eba3de43ba866976d828cf6d2d34 /src/backend/utils/cache/fcache.c
parent763ff8aef848d71da079049890786edffc3302d6 (diff)
downloadpostgresql-baef78d96b799b6264a54f8cfce4fda2b2da9701.tar.gz
postgresql-baef78d96b799b6264a54f8cfce4fda2b2da9701.zip
Thank god for searchable mail archives.
Patch by: wieck@sapserv.debis.de (Jan Wieck) One of the design rules of PostgreSQL is extensibility. And to follow this rule means (at least for me) that there should not only be a builtin PL. Instead I would prefer a defined interface for PL implemetations.
Diffstat (limited to 'src/backend/utils/cache/fcache.c')
-rw-r--r--src/backend/utils/cache/fcache.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/backend/utils/cache/fcache.c b/src/backend/utils/cache/fcache.c
index 8eb1e7e89e8..485a1d01bae 100644
--- a/src/backend/utils/cache/fcache.c
+++ b/src/backend/utils/cache/fcache.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/utils/cache/Attic/fcache.c,v 1.9 1998/01/07 21:06:11 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/utils/cache/Attic/fcache.c,v 1.10 1998/01/15 19:45:29 pgsql Exp $
*
*-------------------------------------------------------------------------
*/
@@ -98,6 +98,7 @@ init_fcache(Oid foid,
* ----------------
*/
retval = (FunctionCachePtr) palloc(sizeof(FunctionCache));
+ memset(retval, 0, sizeof(FunctionCache));
if (!use_syscache)
elog(ERROR, "what the ????, init the fcache without the catalogs?");
@@ -281,10 +282,12 @@ init_fcache(Oid foid,
- if (retval->language != SQLlanguageId)
- fmgr_info(foid, &(retval->func), &(retval->nargs));
- else
- retval->func = (func_ptr) NULL;
+ if (retval->language != SQLlanguageId) {
+ fmgr_info(foid, &(retval->func));
+ retval->nargs = retval->func.fn_nargs;
+ } else {
+ retval->func.fn_addr = (func_ptr) NULL;
+ }
return (retval);