aboutsummaryrefslogtreecommitdiff
path: root/src/include/utils/fmgrtab.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/utils/fmgrtab.h')
-rw-r--r--src/include/utils/fmgrtab.h31
1 files changed, 20 insertions, 11 deletions
diff --git a/src/include/utils/fmgrtab.h b/src/include/utils/fmgrtab.h
index 21e28904d53..e6cfe519650 100644
--- a/src/include/utils/fmgrtab.h
+++ b/src/include/utils/fmgrtab.h
@@ -1,30 +1,39 @@
/*-------------------------------------------------------------------------
*
* fmgrtab.h
- *
- *
+ * The function manager's table of internal functions.
*
* Portions Copyright (c) 1996-2000, PostgreSQL, Inc
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Id: fmgrtab.h,v 1.12 2000/01/26 05:58:38 momjian Exp $
+ * $Id: fmgrtab.h,v 1.13 2000/05/28 17:56:20 tgl Exp $
*
*-------------------------------------------------------------------------
*/
#ifndef FMGRTAB_H
#define FMGRTAB_H
+#include "fmgr.h"
+
+
+/*
+ * This table stores info about all the built-in functions (ie, functions
+ * that are compiled into the Postgres executable). The table entries are
+ * required to appear in Oid order, so that binary search can be used.
+ */
typedef struct
{
- Oid proid;
- int nargs;
- func_ptr func;
- char *funcName;
-} FmgrCall;
+ Oid foid; /* OID of the function */
+ const char *funcName; /* C name of the function */
+ short nargs; /* 0..FUNC_MAX_ARGS, or -1 if variable count */
+ bool strict; /* T if function is "strict" */
+ bool oldstyle; /* T if function uses old fmgr interface */
+ PGFunction func; /* pointer to compiled function */
+} FmgrBuiltin;
+
+extern const FmgrBuiltin fmgr_builtins[];
-extern FmgrCall *fmgr_isbuiltin(Oid id);
-extern func_ptr fmgr_lookupByName(char *name);
-extern void load_file(char *filename);
+extern const int fmgr_nbuiltins; /* number of entries in table */
#endif /* FMGRTAB_H */