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