mirror of
https://github.com/postgres/postgres.git
synced 2025-12-21 05:21:08 +03:00
Generate fmgr prototypes automatically
Gen_fmgrtab.pl creates a new file fmgrprotos.h, which contains prototypes for all functions registered in pg_proc.h. This avoids having to manually maintain these prototypes across a random variety of header files. It also automatically enforces a correct function signature, and since there are warnings about missing prototypes, it will detect functions that are defined but not registered in pg_proc.h (or otherwise used). Reviewed-by: Pavel Stehule <pavel.stehule@gmail.com>
This commit is contained in:
@@ -180,32 +180,6 @@ extern Pattern_Prefix_Status pattern_fixed_prefix(Const *patt,
|
||||
extern Const *make_greater_string(const Const *str_const, FmgrInfo *ltproc,
|
||||
Oid collation);
|
||||
|
||||
extern Datum eqsel(PG_FUNCTION_ARGS);
|
||||
extern Datum neqsel(PG_FUNCTION_ARGS);
|
||||
extern Datum scalarltsel(PG_FUNCTION_ARGS);
|
||||
extern Datum scalargtsel(PG_FUNCTION_ARGS);
|
||||
extern Datum regexeqsel(PG_FUNCTION_ARGS);
|
||||
extern Datum icregexeqsel(PG_FUNCTION_ARGS);
|
||||
extern Datum likesel(PG_FUNCTION_ARGS);
|
||||
extern Datum iclikesel(PG_FUNCTION_ARGS);
|
||||
extern Datum regexnesel(PG_FUNCTION_ARGS);
|
||||
extern Datum icregexnesel(PG_FUNCTION_ARGS);
|
||||
extern Datum nlikesel(PG_FUNCTION_ARGS);
|
||||
extern Datum icnlikesel(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Datum eqjoinsel(PG_FUNCTION_ARGS);
|
||||
extern Datum neqjoinsel(PG_FUNCTION_ARGS);
|
||||
extern Datum scalarltjoinsel(PG_FUNCTION_ARGS);
|
||||
extern Datum scalargtjoinsel(PG_FUNCTION_ARGS);
|
||||
extern Datum regexeqjoinsel(PG_FUNCTION_ARGS);
|
||||
extern Datum icregexeqjoinsel(PG_FUNCTION_ARGS);
|
||||
extern Datum likejoinsel(PG_FUNCTION_ARGS);
|
||||
extern Datum iclikejoinsel(PG_FUNCTION_ARGS);
|
||||
extern Datum regexnejoinsel(PG_FUNCTION_ARGS);
|
||||
extern Datum icregexnejoinsel(PG_FUNCTION_ARGS);
|
||||
extern Datum nlikejoinsel(PG_FUNCTION_ARGS);
|
||||
extern Datum icnlikejoinsel(PG_FUNCTION_ARGS);
|
||||
|
||||
extern Selectivity boolvarsel(PlannerInfo *root, Node *arg, int varRelid);
|
||||
extern Selectivity booltestsel(PlannerInfo *root, BoolTestType booltesttype,
|
||||
Node *arg, int varRelid,
|
||||
@@ -245,7 +219,5 @@ extern Selectivity scalararraysel_containment(PlannerInfo *root,
|
||||
Node *leftop, Node *rightop,
|
||||
Oid elemtype, bool isEquality, bool useOr,
|
||||
int varRelid);
|
||||
extern Datum arraycontsel(PG_FUNCTION_ARGS);
|
||||
extern Datum arraycontjoinsel(PG_FUNCTION_ARGS);
|
||||
|
||||
#endif /* SELFUNCS_H */
|
||||
|
||||
Reference in New Issue
Block a user