Tom Lane said:
> "John Sidney-Woollett" <johnsw(at)wardbrook(dot)com> writes:
>> Please can someone explain why Postgres cannot recognize that objects
>> (referenced by pl/pgsql functions) whose OID no longer exists could in
>> fact be found (as new objects) if the function was reparsed and compiled
> Criticism in the form of a patch would be useful.
I know but I don't have the expertise to do that - I was only trying to
raise the issue... :)
>> Whenever you delete an object, you locate any functions (or other
>> referencing that object's OID, and you mark them as invalid, and any
>> subsequent objects that now refer to the newly invalidated object(s).
> Yup, this is on the TODO list, and has been for awhile:
> * Flush cached query plans when their underlying catalog data changes
Is the query plan cached for the life of the session, or the life of the
Isn't removing the plan from the cache, and marking objects invalid two
separate although related issues?
>> I don't know, but cannot believe that it would be hard to implement
> Step right up ...
Believe you me, you don't want my code - it's been quite a few years since
I've done any C programming, a patch I produced might set Postgres back 5
BTW, I was only highlighting the issue because the missing OID message bit
me in the ass again today, and I didn't realise that it existed as an
outstanding todo item.
I guess that there are other missing features like exception handling and
nested transactions which are more important and need attention more
In response to
pgsql-general by date
|Next:||From: Alvaro Herrera||Date: 2004-04-22 16:04:57|
|Subject: Re: Missing OID rant|
|Previous:||From: Guy Fraser||Date: 2004-04-22 15:43:35|
|Subject: Re: 7.3.4 on Linux: UPDATE .. foo=foo+1 degrades massivly|