aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/fcache.h
diff options
context:
space:
mode:
authorMarc G. Fournier <scrappy@hub.org>1996-07-09 06:22:35 +0000
committerMarc G. Fournier <scrappy@hub.org>1996-07-09 06:22:35 +0000
commitd31084e9d1118b25fd16580d9d8c2924b5740dff (patch)
tree3179e66307d54df9c7b966543550e601eb55e668 /src/backend/utils/fcache.h
downloadpostgresql-PG95-1_01.tar.gz
postgresql-PG95-1_01.zip
Postgres95 1.01 Distribution - Virgin SourcesPG95-1_01
Diffstat (limited to 'src/backend/utils/fcache.h')
-rw-r--r--src/backend/utils/fcache.h55
1 files changed, 55 insertions, 0 deletions
diff --git a/src/backend/utils/fcache.h b/src/backend/utils/fcache.h
new file mode 100644
index 00000000000..a7a83452ba0
--- /dev/null
+++ b/src/backend/utils/fcache.h
@@ -0,0 +1,55 @@
+/*-------------------------------------------------------------------------
+ *
+ * fcache.h--
+ *
+ *
+ *
+ * Copyright (c) 1994, Regents of the University of California
+ *
+ * $Id: fcache.h,v 1.1.1.1 1996/07/09 06:22:01 scrappy Exp $
+ *
+ *-------------------------------------------------------------------------
+ */
+#ifndef FCACHE_H
+#define FCACHE_H
+
+#include "fmgr.h"
+
+typedef struct
+{
+ int typlen; /* length of the return type */
+ int typbyval; /* true if return type is pass by value */
+ func_ptr func; /* address of function to call (for c funcs) */
+ Oid foid; /* oid of the function in pg_proc */
+ Oid language; /* oid of the language in pg_language */
+ int nargs; /* number of arguments */
+
+ /* Might want to make these two arrays of size MAXFUNCARGS */
+
+ Oid *argOidVect; /* oids of all the arguments */
+ bool *nullVect; /* keep track of null arguments */
+
+ char *src; /* source code of the function */
+ char *bin; /* binary object code ?? */
+ char *func_state; /* fuction_state struct for execution */
+
+ bool oneResult; /* true we only want 1 result from the
+ * function
+ */
+ bool hasSetArg; /* true if func is part of a nested dot expr
+ * whose argument is func returning a set ugh!
+ */
+
+ Pointer funcSlot; /* if one result we need to copy it before we
+ * end execution of the function and free stuff
+ */
+
+ char *setArg; /* current argument for nested dot execution
+ * Nested dot expressions mean we have funcs
+ * whose argument is a set of tuples
+ */
+
+ bool istrusted; /* trusted fn? */
+} FunctionCache, *FunctionCachePtr;
+
+#endif /* FCACHE_H */