On Mon, 2005-01-31 at 23:38 +0900, a_ogawa wrote:
> (b)Define the macro that initialize FunctionCallInfoData, and use it
> instead of MemSet in all FunctionCallN, DirectFunctionCallN,
> OidFunctionCallN.
> This macro is the following.
>
> #define InitFunctionCallInfoData(Fcinfo, Flinfo, Nargs) \
> do { \
> (Fcinfo)->flinfo = Flinfo; \
> (Fcinfo)->context = NULL; \
> (Fcinfo)->resultinfo = NULL; \
> (Fcinfo)->isnull = false; \
> (Fcinfo)->nargs = Nargs; \
> MemSet((Fcinfo)->argnull, 0, Nargs * sizeof(bool)); \
> } while(0)
>
> I think that plan(b) is better, because source code consistency
> and efficiency improve.
I agree; I think the macro is a nice improvement to readability. It
would be good to see some benchmarks once the patch is written to verify
that this really does improve performance, but I think it's a good idea.
-Neil