From: Bruce Momjian <pgman@candle.pha.pa.us>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Peter Eisentraut <peter_e@gmx.net>
Cc: Neil Conway <nconway@klamath.dyndns.org>
Cc: Christopher Kings-Lynne <chriskl@familyhealth.com.au>
Cc: josh@agliodbs.com, jproctor@prium.net, PostgreSQL Development <pgsql-hackers@postgresql.org>
Subject: Re: [PATCHES] [SQL] 16 parameter limit
Date: Tue, 16 Apr 2002 01:06:50 -0400 (EDT)
Message-ID: <200204160506.g3G56oV12346@candle.pha.pa.us> (raw)
In-Reply-To: <9406.1018933293@sss.pgh.pa.us>
Tom Lane wrote:
> Peter Eisentraut <peter_e@gmx.net> 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.
>
> <<itch>> 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.
OK, I have an idea. Tom, didn't you just add code that allows the cache
to return multiple rows for a lookup? I think you did it for schemas.
What if we lookup on the first 16 params, then look at every matching
hit if there are more than 16 params supplied? Another idea would be to
hash the function arg types and look that up rather than looking for
exact matches of oidvector.
--
Bruce Momjian | http://candle.pha.pa.us
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, Pennsylvania 19026
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: pgman@candle.pha.pa.us, tgl@sss.pgh.pa.us, peter_e@gmx.net, nconway@klamath.dyndns.org, chriskl@familyhealth.com.au, pgsql-hackers@postgresql.org
Subject: Re: [PATCHES] [SQL] 16 parameter limit
In-Reply-To: <200204160506.g3G56oV12346@candle.pha.pa.us>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox