8
8
#
9
9
#
10
10
# IDENTIFICATION
11
- # $Header: /cvsroot/pgsql/src/backend/utils/Attic/Gen_fmgrtab.sh.in,v 1.6 1998/01/15 19:44:50 pgsql Exp $
11
+ # $Header: /cvsroot/pgsql/src/backend/utils/Attic/Gen_fmgrtab.sh.in,v 1.7 1998/01/31 05:22:41 momjian Exp $
12
12
#
13
13
# NOTES
14
14
# Passes any -D options on to cpp prior to generating the list
@@ -81,7 +81,7 @@ cat > $HFILE <<FuNkYfMgRsTuFf
81
81
*
82
82
* Copyright (c) 1994, Regents of the University of California
83
83
*
84
- * $Id : Gen_fmgrtab.sh.in,v 1.6 1998/01/15 19:44:50 pgsql Exp $
84
+ * $Id : Gen_fmgrtab.sh.in,v 1.7 1998/01/31 05:22:41 momjian Exp $
85
85
*
86
86
* NOTES
87
87
* ******************************
@@ -123,7 +123,6 @@ typedef struct {
123
123
*/
124
124
extern char *fmgr_c(FmgrInfo *finfo, FmgrValues *values, bool *isNull);
125
125
extern void fmgr_info(Oid procedureId, FmgrInfo *finfo);
126
- extern func_ptr fmgr_faddr(FmgrInfo *finfo);
127
126
extern char *fmgr(Oid procedureId, ... );
128
127
extern char *fmgr_ptr(FmgrInfo *finfo, ... );
129
128
extern char *fmgr_array_args(Oid procedureId, int nargs,
@@ -135,20 +134,31 @@ extern char *fmgr_array_args(Oid procedureId, int nargs,
135
134
extern func_ptr fmgr_dynamic(Oid procedureId, int *pronargs);
136
135
extern void load_file(char *filename);
137
136
138
-
139
137
/*
140
138
* For performance reasons, we often want to simply jump through a
141
139
* a function pointer (if it's valid, that is). These calls have
142
140
* been macroized so we can run them through a routine that does
143
141
* sanity-checking (and so we can track them down more easily when
144
142
* we must).
145
143
*/
144
+
145
+ #define fmgr_faddr(finfo) \
146
+ ( \
147
+ fmgr_pl_finfo = (finfo), \
148
+ (func_ptr)(finfo)->fn_addr \
149
+ )
150
+
146
151
#ifdef TRACE_FMGR_PTR
147
152
#define FMGR_PTR2(FINFO, ARG1, ARG2) \
148
153
fmgr_ptr(FINFO, 2, ARG1, ARG2)
149
154
#else
150
155
#define FMGR_PTR2(FINFO, ARG1, ARG2) \
151
- (((FINFO)->fn_addr) ? (*(fmgr_faddr(FINFO)))(ARG1, ARG2) : fmgr((FINFO)->fn_oid, ARG1, ARG2))
156
+ ( \
157
+ ((FINFO)->fn_addr) ? \
158
+ (*(fmgr_faddr(FINFO)))(ARG1, ARG2) \
159
+ : \
160
+ fmgr((FINFO)->fn_oid, ARG1, ARG2) \
161
+ )
152
162
#endif
153
163
154
164
/*
@@ -182,7 +192,7 @@ cat > $TABCFILE <<FuNkYfMgRtAbStUfF
182
192
*
183
193
*
184
194
* IDENTIFICATION
185
- * $Header : /cvsroot/pgsql/src/backend/utils/Attic/Gen_fmgrtab.sh.in,v 1.6 1998/01/15 19:44:50 pgsql Exp $
195
+ * $Header : /cvsroot/pgsql/src/backend/utils/Attic/Gen_fmgrtab.sh.in,v 1.7 1998/01/31 05:22:41 momjian Exp $
186
196
*
187
197
* NOTES
188
198
*
0 commit comments