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 | |
parent | 77b7a740f95250af7d78f69e9c906c3e53f32e7b (diff) | |
download | postgresql-3a4f7dde16ad81b2319b9a4924a6023710a2fefd.tar.gz postgresql-3a4f7dde16ad81b2319b9a4924a6023710a2fefd.zip |
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')
-rw-r--r-- | src/backend/utils/cache/Makefile | 5 | ||||
-rw-r--r-- | src/backend/utils/cache/fcache.c | 53 |
2 files changed, 2 insertions, 56 deletions
diff --git a/src/backend/utils/cache/Makefile b/src/backend/utils/cache/Makefile index eb9d3e89c0c..b13ecc38ddc 100644 --- a/src/backend/utils/cache/Makefile +++ b/src/backend/utils/cache/Makefile @@ -4,7 +4,7 @@ # Makefile for utils/cache # # IDENTIFICATION -# $Header: /cvsroot/pgsql/src/backend/utils/cache/Makefile,v 1.16 2002/03/31 06:26:31 tgl Exp $ +# $Header: /cvsroot/pgsql/src/backend/utils/cache/Makefile,v 1.17 2002/12/13 19:45:56 tgl Exp $ # #------------------------------------------------------------------------- @@ -12,8 +12,7 @@ subdir = src/backend/utils/cache top_builddir = ../../../.. include $(top_builddir)/src/Makefile.global -OBJS = catcache.o inval.o relcache.o syscache.o lsyscache.o \ - fcache.o +OBJS = catcache.o inval.o relcache.o syscache.o lsyscache.o all: SUBSYS.o 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; -} |