> Hi, > I've got a couple of questions. > > I was using numeric_out like this: > > DatumGetCString(DirectFunctionCall1(numeric_out, d)); > > Why do I have to use DirectFunctionCall1 instead of calling numeric_out?
numeric_out functions doesn't use C calling convention - it use own convention for support NULL values and some other informations. DirectFunctionCall1 is simple function that transform C like call to PostgreSQL call. You can do it directly, but you have to prepare necessary structures.
> > > I was suggested to use numeric_send instead of numeric_out, however when > changing the function names in the above example, the whole expression > returns 8. Always 8. I check with: > > char *x = DatumGetCString(DirectFunctionCall1(numeric_send, d)); > PLy_elog(NOTICE, x). >
"send" functions are used for binary protocol - so it is nonsense.
Hi,
thanks for the information. So I will leave speeding it up for this moment.
From:
Amit Kapila Date: Subject:
Re: ALTER SYSTEM SET command to change postgresql.conf parameters (RE: Proposal for Allow postgresql.conf values to be changed via SQL [review])