mirror of
https://github.com/postgres/postgres.git
synced 2026-02-18 01:59:53 -05:00
Up until now, we've had a policy of only marking certain variables in the PostgreSQL header files with PGDLLIMPORT, but now we've decided to mark them all. This means that extensions running on Windows should no longer operate at a disadvantage as compared to extensions running on Linux: if the variable is present in a header file, it should be accessible. Discussion: http://postgr.es/m/CA+TgmoYanc1_FSfimhgiWSqVyP5KKmh5NP2BWNwDhO8Pg2vGYQ@mail.gmail.com
49 lines
1.5 KiB
C
49 lines
1.5 KiB
C
/*-------------------------------------------------------------------------
|
|
*
|
|
* fmgrtab.h
|
|
* The function manager's table of internal functions.
|
|
*
|
|
* Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
|
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
*
|
|
* src/include/utils/fmgrtab.h
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
#ifndef FMGRTAB_H
|
|
#define FMGRTAB_H
|
|
|
|
#include "access/transam.h"
|
|
#include "fmgr.h"
|
|
|
|
|
|
/*
|
|
* This table stores info about all the built-in functions (ie, functions
|
|
* that are compiled into the Postgres executable).
|
|
*/
|
|
|
|
typedef struct
|
|
{
|
|
Oid foid; /* OID of the function */
|
|
short nargs; /* 0..FUNC_MAX_ARGS, or -1 if variable count */
|
|
bool strict; /* T if function is "strict" */
|
|
bool retset; /* T if function returns a set */
|
|
const char *funcName; /* C name of the function */
|
|
PGFunction func; /* pointer to compiled function */
|
|
} FmgrBuiltin;
|
|
|
|
extern PGDLLIMPORT const FmgrBuiltin fmgr_builtins[];
|
|
|
|
extern PGDLLIMPORT const int fmgr_nbuiltins; /* number of entries in table */
|
|
|
|
extern PGDLLIMPORT const Oid fmgr_last_builtin_oid; /* highest function OID in
|
|
* table */
|
|
|
|
/*
|
|
* Mapping from a builtin function's OID to its index in the fmgr_builtins
|
|
* array. This is indexed from 0 through fmgr_last_builtin_oid.
|
|
*/
|
|
#define InvalidOidBuiltinMapping PG_UINT16_MAX
|
|
extern PGDLLIMPORT const uint16 fmgr_builtin_oid_index[];
|
|
|
|
#endif /* FMGRTAB_H */
|