Re: SQL plan in functions

From: Julius Tuskenis <julius(dot)tuskenis(at)gmail(dot)com>
To:
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: SQL plan in functions
Date: 2008-12-18 12:12:09
Message-ID: 494A3E19.1070507@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Thank you Andreas and Grzegorz. It worked!

While experimenting I found that if I wright FOR rec IN EXECUTE 'my sql'
LOOP ...... its OK, but If I wright RETURN QUERY EXECUTE 'my sql' I get
syntax error. Is it a bug?

Julius Tuskenis

A. Kretschmer rašė:
> In response to Julius Tuskenis :
>
>> Hello, list.
>>
>> I have a function witch returns record set. What troubles me is that
>> depending on parameters I pass to this function the execution time
>> varies greatly. On the other hand if I execute the query (not the
>> function) with pgAdmin - it gives results quickly.
>> In previous post You helped me realize, that the problem was because the
>> function has only one plan of SQL inside no matter the parameters
>> values. Is there a way to order postgres to check the plan each time the
>> function is called?
>>
>
> Sure, use EXECUTE 'your sql' inside the function to force the planner to
> generate a new plan depending on the current parameters.
>
>
> Regards, Andreas
>

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Raymond O'Donnell 2008-12-18 12:21:58 Re: SQL plan in functions
Previous Message Aarni 2008-12-18 11:36:22 Re: Error: Operator does not exist: "char"=integer