On Sunday 15 Jun 2003 9:41 pm, nolan@celery.tssi.com wrote:
[snip]
> It didn't, so I dropped
> that index and created a different one, adding a third column to the index.
>
> I then got the following error message:
>
> WARNING: Error occurred while executing PL/pgSQL function uscf_status_on
> WARNING: line 8 at select into variables
> ERROR: Relation 3912941 does not exist
>
> Recreating the function got rid of the error message, though I didn't
> get the performance improvement I was looking for.
PL/pgsql functions are "compiled" on their first call and plans are fixed at
this time. So - if a plan relies on something you delete there are problems.
I tend to keep my functions in one or more text-files ready to be
dropped/recreated when I make schema changes during development.
I believe that the TCL/Perl procedural languages are interpreted each time
they are run so should not suffer this difficulty.
--
Richard Huxton