Re: Functions have 32 args limt ??? - Mailing list pgsql-general

From Ivar
Subject Re: Functions have 32 args limt ???
Date
Msg-id bila1p$h97$1@sea.gmane.org
Whole thread Raw
In response to Functions have 32 args limt ???  ("Ivar" <ivar@lumisoft.ee>)
Responses Re: Functions have 32 args limt ???  ("scott.marlowe" <scott.marlowe@ihs.com>)
List pgsql-general
"Tom Lane" <tgl@sss.pgh.pa.us> wrote in message
news:24253.1062087102@sss.pgh.pa.us...
> "Ivar" <ivar@lumisoft.ee> writes:
> > Are there any real pefrormance difference, what are actual
difference(%),
> > have somebody measured even it ?
>
> You still haven't looked at the thread you were pointed to, have you?
>
> There is another issue besides disk space and performance, which is that
> functions with large numbers of positional parameters are just plain bad
> style --- it's way too easy to introduce bugs by passing the parameters
> in the wrong order.  It's usually better to coalesce some of the
> parameters into arrays or records.  Our awareness of this fact keeps us
> from wanting to expend lots of work or resources on making the standard
> function argument limit larger.
>
> regards, tom lane
>
> ---------------------------(end of broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org
>

I found some threads now:

Seems there is big fuss around this.
Table sizes are increasing ok, complaining IO penaly, but no reallife speed
panalty size (%)


http://groups.google.com/groups?q=FUNC_MAX_ARGS&start=20&hl=en&lr=&ie=UTF-8&oe=UTF-8&selm=10867.1018048699%40sss.pgh.pa.us&rnum=28
{
"Josh Berkus" <josh@agliodbs.com> writes:
> Tom,
>> I was surprised that people were dissatisfied with 16 (it was 8 not
>> very long ago...).  Needing more strikes me as a symptom of either bad
>> coding practices or missing features of other sorts.
> No, not really.  It's just people wanting to use PL/pgSQL procedures as
>  data filters.  For example, I have a database with complex
>  dependancies and validation rules that I started under 7.0.3, when
>  RULES were not an option for such things and triggers were harder to
>  write.  As a result, I have the interface push new records for, say,
>  the CLIENTS table through a PL/pgSQL procedure rather than writing to
>  the table directly.  Since the table has 18 columns, I need (18 + 2
>  for session & user) 20 parameters for this procedure.


There is another reallife situation where is needed more args.
(Basically functions can't be used for INSERT)
}

> in the wrong order.  It's usually better to coalesce some of the
> parameters into arrays or records.
How you pass array from c# though odbc to sql server ???


Seems I must wait some time, I'm sure that this limit is removed future
releases.

Just curious how other servers handle this ?
MS SQL defenitely works
Orcale ??
Db2 ??
SAP DB,  works
Firebird ??


"Ivar" <ivar@lumisoft.ee> wrote in message news:bil8fc$t0$1@sea.gmane.org...
>
> > Did you even bother to look at the thread I referred to?
> What thread ?
> You just gave some notes how to come over this, but I think I'll never use
> modified source
> and not standard release server.
>
> If you see my example of my functions (trying to move ms sql to postgre,
all
> goes well except it),
> is them really so dummy or bad design.
>
> > greater than 32 arguments why they should suffer a performance hit just
> > because you do.
> Are there any real pefrormance difference, what are actual difference(%),
> have somebody measured even it ?
>
> "Joe Conway" <mail@joeconway.com> wrote in message
> news:3F4E2126.6010902@joeconway.com...
> > Ivar wrote:
> > > I don't see why default is so small.
> > >
> >
> > Did you even bother to look at the thread I referred to?
> >
> > There was a lengthy discussion on the pros and cons of various default
> > settings, and the consensus of the community was 32. If you'd like to
> > make a cogent argument for why it ought to be higher, by all means do
> > so. But you'll have to convince quite a few people who have no need for
> > greater than 32 arguments why they should suffer a performance hit just
> > because you do.
> >
> > Joe
> >
> >
> >
> >
> > ---------------------------(end of broadcast)---------------------------
> > TIP 6: Have you searched our list archives?
> >
> >                http://archives.postgresql.org
> >
>
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 9: the planner will ignore your desire to choose an index scan if your
>       joining column's datatypes do not match
>



pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: Functions have 32 args limt ???
Next
From: Sune Nielsen
Date:
Subject: Re: Problems with transactions and sequences