1 /*------------------------------------------------------------------------- 2 * 3 * fmgrtab.h 4 * The function manager's table of internal functions. 5 * 6 * Portions Copyright (c) 1996-2017, PostgreSQL Global Development Group 7 * Portions Copyright (c) 1994, Regents of the University of California 8 * 9 * src/include/utils/fmgrtab.h 10 * 11 *------------------------------------------------------------------------- 12 */ 13 #ifndef FMGRTAB_H 14 #define FMGRTAB_H 15 16 #include "fmgr.h" 17 18 19 /* 20 * This table stores info about all the built-in functions (ie, functions 21 * that are compiled into the Postgres executable). The table entries are 22 * required to appear in Oid order, so that binary search can be used. 23 */ 24 25 typedef struct 26 { 27 Oid foid; /* OID of the function */ 28 const char *funcName; /* C name of the function */ 29 short nargs; /* 0..FUNC_MAX_ARGS, or -1 if variable count */ 30 bool strict; /* T if function is "strict" */ 31 bool retset; /* T if function returns a set */ 32 PGFunction func; /* pointer to compiled function */ 33 } FmgrBuiltin; 34 35 extern const FmgrBuiltin fmgr_builtins[]; 36 37 extern const int fmgr_nbuiltins; /* number of entries in table */ 38 39 #endif /* FMGRTAB_H */ 40