Re: Immutable function with bind value

From: Matteo Beccati <php(at)beccati(dot)com>
To: Brice Maron <bmaron(at)gmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Immutable function with bind value
Date: 2012-01-20 14:28:34
Message-ID: 4F197A12.4050709@beccati.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 20/01/2012 12:43, Brice Maron wrote:
> Hi,
>
> i've discovered something kind of weird while developing my app...
> I was trying to fetch some records in a table using a function immutable.
> In my interface it was really slow and while i was in a psql it was
> really fast ...
>
> After some research i've found out that it was caused by the bind
> parameter "forcing" the immutable function to execute each time my
> query gets a record.
>
> while i know that the value can't be known at planning time the
> difference between the binded / not binded is quite enormous...
>
> i've isolated a test case here....
>
> https://gist.github.com/e93792540cb3a68054c9
>
> (it happens at least in pg 8.4 and 9.1.2)
>
>
> What do you think about it... bug? feature? how can i avoid it?

How about:

PREPARE test (varchar) as select * from test where a = $1;
EXECUTE test(test_immutable(1));

Cheers
--
Matteo Beccati

Development & Consulting - http://www.beccati.com/

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Brice Maron 2012-01-20 14:40:43 Re: Immutable function with bind value
Previous Message maripabis@tiscali.it 2012-01-20 13:26:28 Does Stackbuilder need username/pwd for the proxy?