Re: [HACKERS] [GENERAL] Column rename in an extension update script
От | Julien Rouhaud |
---|---|
Тема | Re: [HACKERS] [GENERAL] Column rename in an extension update script |
Дата | |
Msg-id | 24fbcf75-04d2-9d10-ac12-c99fe4ca96a4@dalibo.com обсуждение исходный текст |
Ответы |
Re: [HACKERS] [GENERAL] Column rename in an extension update script
|
Список | pgsql-hackers |
moving this thread to -hackers, since this looks like a bug. On 01/05/2017 08:54, Philippe BEAUDOIN wrote: > Hi all, > > I am coding an update script for an extension. And I am in trouble when > trying to rename a column of an existing table. > > Just after the ALTER TABLE statement, I want to access this table. But > at this time, the altered column is not visible with its new name. > I can reproduce this issue. It looks like this is due to missing cache invalidation between the ALTER TABLE execution and next query planning (failure happens during pg_analyze_and_rewrite()). AFAICT, CommandCounterIncrement() is responsible for handling invalidation messages, but in execute_sql_string() this function is called before executing a Stmt instead of after. Moving the CommandCounterIncrement() just before the PopActiveSnapshot() call (and removing the final one) fixes this issue for me, but I have no idea if this is the right fix. -- Julien Rouhaud http://dalibo.com - http://dalibo.org
В списке pgsql-hackers по дате отправления: