Re: Procedures cannot take more than 16 arguments

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
Cc: Andrey <bp(at)profit(dot)net(dot)ua>, pgsql-sql(at)postgresql(dot)org
Subject: Re: Procedures cannot take more than 16 arguments
Date: 2000-06-28 18:12:04
Message-ID: 16712.962215924@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

>> 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(at)candle(dot)pha(dot)pa(dot)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

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Philip Hallstrom 2000-06-28 18:13:32 Re: retrieving a serial number
Previous Message Bruce Momjian 2000-06-28 17:51:01 Re: Procedures cannot take more than 16 arguments