Re: Missing OID rant
От | John Sidney-Woollett |
---|---|
Тема | Re: Missing OID rant |
Дата | |
Msg-id | 3740.192.168.0.64.1082649071.squirrel@mercury.wardbrook.com обсуждение исходный текст |
Ответ на | Missing OID rant ("John Sidney-Woollett" <johnsw@wardbrook.com>) |
Ответы |
Re: Missing OID rant
|
Список | pgsql-general |
Tom Lane said: > "John Sidney-Woollett" <johnsw@wardbrook.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 >> again. > > 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 >> objects) >> 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 cache/database/postmaster session? 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 >> this, > > 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 years!! 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 urgently... John Sidney-Woollett
В списке pgsql-general по дате отправления: