Thread: Procedures cannot take more than 16 arguments
Good day.
Does anyone know the way of sending more than 16 parameters to function?
Best regards.
Andrey
[ Charset KOI8-R unsupported, converting... ] > Good day. > Does anyone know the way of sending more than 16 parameters to function? In 7.0, I could have sworn I had an #ifdef to go up to 32, but I don't see it anymore. -- Bruce Momjian | http://www.op.net/~candle pgman@candle.pha.pa.us | (610) 853-3000+ If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania19026
>> Does anyone know the way of sending more than 16 parameters to function? Change the relevant parameters in config.h (there are two), rebuild, reinstall, initdb. Bruce Momjian <pgman@candle.pha.pa.us> writes: > In 7.0, I could have sworn I had an #ifdef to go up to 32, but I don't > see it anymore. If you're talking about that switch statement in fmgr.c, I don't think it needs to support more than 16 in the new fmgr --- there certainly is no reason to tie it directly to FUNC_MAX_ARGS. The switch only applies to calling old-style builtin or dynamically-loaded old-style C functions. There aren't any old-style builtin functions left with more than 3 args, and if there's someone out there with a C function that takes more than 16 he'd be well advised to convert it to newstyle anyway. (He could only have written such a function since 7.0 release ... the historical limit was just 8, so I think the oldstyle cases beyond 8 are likely to be dead code anyhow ... not much point in cluttering the backend with more cases.) I think I need to change the config.h comment that goes with MAX_FUNC_ARGS. regards, tom lane