diff options
author | PostgreSQL Daemon <webmaster@postgresql.org> | 1998-01-15 19:46:37 +0000 |
---|---|---|
committer | PostgreSQL Daemon <webmaster@postgresql.org> | 1998-01-15 19:46:37 +0000 |
commit | baef78d96b799b6264a54f8cfce4fda2b2da9701 (patch) | |
tree | a842ceff78d7eba3de43ba866976d828cf6d2d34 /src/backend/utils/cache/fcache.c | |
parent | 763ff8aef848d71da079049890786edffc3302d6 (diff) | |
download | postgresql-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.c | 13 |
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); |