1
0
mirror of https://github.com/postgres/postgres.git synced 2025-10-27 00:12:01 +03:00

Third round of fmgr updates: eliminate calls using fmgr() and

fmgr_faddr() in favor of new-style calls.  Lots of cleanup of
sloppy casts to use XXXGetDatum and DatumGetXXX ...
This commit is contained in:
Tom Lane
2000-05-30 04:25:00 +00:00
parent a12a23f0d0
commit 0f1e39643d
35 changed files with 570 additions and 443 deletions

View File

@@ -11,7 +11,7 @@
* Portions Copyright (c) 1996-2000, PostgreSQL, Inc
* Portions Copyright (c) 1994, Regents of the University of California
*
* $Id: fmgr.h,v 1.2 2000/05/29 01:59:09 tgl Exp $
* $Id: fmgr.h,v 1.3 2000/05/30 04:24:56 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -272,6 +272,8 @@ typedef int32 ((*func_ptr) ());
typedef char *((*func_ptr) ());
#endif
#if 0
typedef struct {
char *data[FUNC_MAX_ARGS];
} FmgrValues;
@@ -286,18 +288,11 @@ extern char *fmgr_faddr_link(char *arg0, ...);
* Macros for calling through the result of fmgr_info.
*/
/* We don't make this static so fmgr_faddr() macros can access it */
/* We don't make this static so fmgr_faddr() macro can access it */
extern FmgrInfo *fmgr_pl_finfo;
#define fmgr_faddr(finfo) (fmgr_pl_finfo = (finfo), (func_ptr) fmgr_faddr_link)
#define FMGR_PTR2(FINFO, ARG1, ARG2) ((*(fmgr_faddr(FINFO))) (ARG1, ARG2))
/*
* Flags for the builtin oprrest selectivity routines.
* XXX These do not belong here ... put 'em in some planner/optimizer header.
*/
#define SEL_CONSTANT 1 /* operator's non-var arg is a constant */
#define SEL_RIGHT 2 /* operator's non-var arg is on the right */
#endif
#endif /* FMGR_H */