2007/10/16, Brendan Jurd <[EMAIL PROTECTED]>:
> On 10/16/07, Tom Lane <[EMAIL PROTECTED]> wrote:
> > "Brendan Jurd" <[EMAIL PROTECTED]> writes:
> > > I recently ran afoul of the following error message:
> > > ERROR: type of "varname" does not match that when preparing the plan
> > > IMO the message isn't quite in English and doesn't explain the problem
> > > very well.
> >
> > The English is fine.  What I want to know about is whether this was a
> > current release, and if so how you provoked it.
>
> This was in 8.3 beta 1.  I provoked the message by having a variable
> which came from a dynamic query (EXECUTE .. INTO a variable of type
> RECORD), and a member of that record changed type between one
> execution of the function and the next.
>
> So the plan was cached on the first execution, and in the second
> execution the type of the variable did not match the type in the plan.
>  At least, that's what I understand happened from looking at the code
> which emitted the message.
>
> Once I knew what the message was talking about, fixing my function was
> easy.  It's a useful error message, it's just not well articulated ...
>
> Cheers,
> BJ
>
please, read:
http://www.pgsql.cz/index.php/Automatic_execution_plan_caching_in_PL/pgSQL

Pavel

---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

Reply via email to