Re: dealing with extension dependencies that aren't quite 'e'
От | Robert Haas |
---|---|
Тема | Re: dealing with extension dependencies that aren't quite 'e' |
Дата | |
Msg-id | CA+TgmobRbdFq9XXF0jTALD7ZKXv-m22SvxfkORSjBJkqueyo9Q@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: dealing with extension dependencies that aren't quite 'e' (Abhijit Menon-Sen <ams@2ndQuadrant.com>) |
Ответы |
Re: dealing with extension dependencies that aren't quite
'e'
|
Список | pgsql-hackers |
On Wed, Mar 23, 2016 at 1:00 PM, Abhijit Menon-Sen <ams@2ndquadrant.com> wrote: > Now, the first part of this works fine. But with the second part, I get > a reduce/reduce conflict if I use any_name. Here's an excerpt from the > verbose bison output: > > State 2920 > > 1181 AlterObjectDependsStmt: ALTER TRIGGER name ON any_name DEPENDS . ON EXTENSION name > > ON shift, and go to state 3506 > > > State 2921 > > 1165 RenameStmt: ALTER TRIGGER name ON qualified_name RENAME . TO name > > TO shift, and go to state 3507 Yeah, that ain't gonna work. If the existing ALTER TRIGGER production uses "name ON qualified_name", switching to "name ON any_name" for the new production is not going to work. You're going to have to make it "name ON qualified_name" and deal with the fallout of that some other way. > I could change ExecAlterObjectDependsStmt() to check if stmt->relation > is set, and if so, convert the RangeVar back to a List* in the right > format before passing it to get_object_address. That would work fine, > but it doesn't seem like a good solution. > > I could write some get_object_address_rv() wrapper that does essentially > the same conversion, but that's only slightly better. I might have a view on which of these alternatives is for the best at some point in time, but I do not have one now. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
В списке pgsql-hackers по дате отправления: