Header And Logo

PostgreSQL
| The world's most advanced open source database.

fmgrtab.h

Go to the documentation of this file.
00001 /*-------------------------------------------------------------------------
00002  *
00003  * fmgrtab.h
00004  *    The function manager's table of internal functions.
00005  *
00006  * Portions Copyright (c) 1996-2013, PostgreSQL Global Development Group
00007  * Portions Copyright (c) 1994, Regents of the University of California
00008  *
00009  * src/include/utils/fmgrtab.h
00010  *
00011  *-------------------------------------------------------------------------
00012  */
00013 #ifndef FMGRTAB_H
00014 #define FMGRTAB_H
00015 
00016 #include "fmgr.h"
00017 
00018 
00019 /*
00020  * This table stores info about all the built-in functions (ie, functions
00021  * that are compiled into the Postgres executable).  The table entries are
00022  * required to appear in Oid order, so that binary search can be used.
00023  */
00024 
00025 typedef struct
00026 {
00027     Oid         foid;           /* OID of the function */
00028     const char *funcName;       /* C name of the function */
00029     short       nargs;          /* 0..FUNC_MAX_ARGS, or -1 if variable count */
00030     bool        strict;         /* T if function is "strict" */
00031     bool        retset;         /* T if function returns a set */
00032     PGFunction  func;           /* pointer to compiled function */
00033 } FmgrBuiltin;
00034 
00035 extern const FmgrBuiltin fmgr_builtins[];
00036 
00037 extern const int fmgr_nbuiltins;    /* number of entries in table */
00038 
00039 #endif   /* FMGRTAB_H */