diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2002-12-13 19:46:01 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2002-12-13 19:46:01 +0000 |
commit | 3a4f7dde16ad81b2319b9a4924a6023710a2fefd (patch) | |
tree | 248cf66fd94d40072b5ba8bb8e5437a6ea8399e5 /src/backend/utils/cache/fcache.c | |
parent | 77b7a740f95250af7d78f69e9c906c3e53f32e7b (diff) |
Phase 3 of read-only-plans project: ExecInitExpr now builds expression
execution state trees, and ExecEvalExpr takes an expression state tree
not an expression plan tree. The plan tree is now read-only as far as
the executor is concerned. Next step is to begin actually exploiting
this property.
Diffstat (limited to 'src/backend/utils/cache/fcache.c')
-rw-r--r-- | src/backend/utils/cache/fcache.c | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/src/backend/utils/cache/fcache.c b/src/backend/utils/cache/fcache.c deleted file mode 100644 index 0ad615fc803..00000000000 --- a/src/backend/utils/cache/fcache.c +++ /dev/null @@ -1,53 +0,0 @@ -/*------------------------------------------------------------------------- - * - * fcache.c - * Code for the 'function cache' used in Oper and Func nodes. - * - * - * Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group - * Portions Copyright (c) 1994, Regents of the University of California - * - * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/cache/Attic/fcache.c,v 1.45 2002/06/20 20:29:39 momjian Exp $ - * - *------------------------------------------------------------------------- - */ -#include "postgres.h" - -#include "miscadmin.h" -#include "utils/acl.h" -#include "utils/fcache.h" -#include "utils/lsyscache.h" - - -/* - * Build a 'FunctionCache' struct given the PG_PROC oid. - */ -FunctionCachePtr -init_fcache(Oid foid, int nargs, MemoryContext fcacheCxt) -{ - FunctionCachePtr retval; - AclResult aclresult; - - /* Check permission to call function */ - aclresult = pg_proc_aclcheck(foid, GetUserId(), ACL_EXECUTE); - if (aclresult != ACLCHECK_OK) - aclcheck_error(aclresult, get_func_name(foid)); - - /* Safety check (should never fail, as parser should check sooner) */ - if (nargs > FUNC_MAX_ARGS) - elog(ERROR, "init_fcache: too many arguments"); - - /* Create fcache entry in the desired context */ - retval = (FunctionCachePtr) MemoryContextAlloc(fcacheCxt, - sizeof(FunctionCache)); - MemSet(retval, 0, sizeof(FunctionCache)); - - /* Set up the primary fmgr lookup information */ - fmgr_info_cxt(foid, &(retval->func), fcacheCxt); - - /* Initialize additional info */ - retval->setArgsValid = false; - - return retval; -} |