Thread: C functions
Does anyone know if it is possible to define a Postgres C function as taking a variable number of parameters? The fmgr code will pass it, but I don't see any way to use "create function" to register it. Does one have to issue a create function for each additional parameter? I am trying to port some mysql stuff to postgres, and mysql has a function "concat" which will concatenate a number of fields. I have this coded for Postgres, but I can't get it registered. I used a few "create function" statements to cover the number of parameters I need, but this is really ugly. (Also, this will help with "decode()," an oraclesque function I use.)
mlw <markw@mohawksoft.com> writes: > Does anyone know if it is possible to define a Postgres C function as > taking a variable number of parameters? The fmgr code will pass it, > but I don't see any way to use "create function" to register it. No, it's not. There is some (purely speculative) support for the idea in the fmgr code, but none anywhere else, as yet. > Does one have to issue a create function for each additional parameter? Yup, you could make multiple pg_proc entries all pointing at the same C function. Kinda grotty, but... regards, tom lane