diff options
Diffstat (limited to 'src/include/utils/fmgrtab.h')
-rw-r--r-- | src/include/utils/fmgrtab.h | 31 |
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 */ |