Received: from gw.itmeedia.ee (gw.itmeedia.ee [213.180.3.226]) by postgresql.org (Postfix) with SMTP id 128CE474E4E for ; Tue, 16 Apr 2002 14:12:52 -0400 (EDT) Received: (qmail 2061 invoked from network); 16 Apr 2002 18:12:51 -0000 Received: from taru.itmeedia.ee (HELO taru.tm.ee) (213.180.3.230) by gw.itmeedia.ee with SMTP; 16 Apr 2002 18:12:51 -0000 Subject: Re: [PATCHES] [SQL] 16 parameter limit From: Hannu Krosing To: Tom Lane Cc: Peter Eisentraut , Neil Conway , Christopher Kings-Lynne , Bruce Momjian , josh@agliodbs.com, jproctor@prium.net, PostgreSQL Development In-Reply-To: <9406.1018933293@sss.pgh.pa.us> References: <9406.1018933293@sss.pgh.pa.us> Content-Type: text/plain Content-Transfer-Encoding: 7bit X-Mailer: Ximian Evolution 1.0.3.99 Date: 16 Apr 2002 21:12:52 +0200 Message-Id: <1018984377.14960.28.camel@taru.tm.ee> Mime-Version: 1.0 X-Archive-Number: 200204/812 X-Sequence-Number: 21476 On Tue, 2002-04-16 at 07:01, Tom Lane wrote: > Peter Eisentraut writes: > > How about this: We store the first 16 parameters in some fixed array for > > fast access like now, and when you have more than 16 then 17 and beyond > > get stored in some variable array in pg_proc. > > <> What's this going to cost us in the function lookup code paths? > > If we can do it with little or no performance cost (at least for the > "normal case" of fewer-than-N parameters) then I'm all ears. Perhaps we could use the 16-th element as an indicator of 16-or-more args. If it is 0 then there are <= 15 args if it is something else, then this something else is hash of extra argument types that need to be looked up separately. Of course we will need some way of resolving multiple hash matches. -------------- Hannu