Re: fmgr.h: PG_NARGS() for number of arguments passed
От | Bruce Momjian |
---|---|
Тема | Re: fmgr.h: PG_NARGS() for number of arguments passed |
Дата | |
Msg-id | 200209120026.g8C0QiV16180@candle.pha.pa.us обсуждение исходный текст |
Ответ на | fmgr.h: PG_NARGS() for number of arguments passed (Lee Kindness <lkindness@csl.co.uk>) |
Список | pgsql-patches |
Patch applied. Thanks. --------------------------------------------------------------------------- Lee Kindness wrote: > The small context diff below corrects what seems to be an oversight in > fmgr.h - it's discouraged to access fcinfo directly but there is no > macro to get the number of arguments passed to the function. Checking > the number of arguments is often useful when you have a function which > can be called like: > > func('arg'); > func(null); > func(); > > all mapping to the same C function. > > the macro has a function-like appearance to match the other PG_* > macros. > > Regards, Lee Kindness. > > Index: fmgr.h > =================================================================== > RCS file: /projects/cvsroot/pgsql-server/src/include/fmgr.h,v > retrieving revision 1.24 > diff -c -r1.24 fmgr.h > *** fmgr.h 2002/09/04 20:31:36 1.24 > --- fmgr.h 2002/09/10 13:25:06 > *************** > *** 116,121 **** > --- 116,126 ---- > #define PG_FUNCTION_ARGS FunctionCallInfo fcinfo > > /* > + * Get number of arguments passed to function. > + */ > + #define PG_NARGS() (fcinfo->nargs) > + > + /* > * If function is not marked "proisstrict" in pg_proc, it must check for > * null arguments using this macro. Do not try to GETARG a null argument! > */ > > ---------------------------(end of broadcast)--------------------------- > TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org > -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073
В списке pgsql-patches по дате отправления: