Re: OBJECT_ATTRIBUTE is useless (or: ALTER TYPE vs ALTER TABLE for composites)
От | Kouhei Kaigai |
---|---|
Тема | Re: OBJECT_ATTRIBUTE is useless (or: ALTER TYPE vs ALTER TABLE for composites) |
Дата | |
Msg-id | 9A28C8860F777E439AA12E8AEA7694F8010B674C@BPXM15GP.gisp.nec.co.jp обсуждение исходный текст |
Ответ на | OBJECT_ATTRIBUTE is useless (or: ALTER TYPE vs ALTER TABLE for composites) (Alvaro Herrera <alvherre@2ndquadrant.com>) |
Ответы |
Re: OBJECT_ATTRIBUTE is useless (or: ALTER TYPE vs ALTER
TABLE for composites)
|
Список | pgsql-hackers |
Please see check_object_ownership(). It checks relation's ownership if OBJECT_COLUMN, however, type's ownership is the correct check if OBJECT_ATTRIBUTE. -- NEC OSS Promotion Center / PG-Strom Project KaiGai Kohei <kaigai@ak.jp.nec.com> > -----Original Message----- > From: pgsql-hackers-owner@postgresql.org > [mailto:pgsql-hackers-owner@postgresql.org] On Behalf Of Alvaro Herrera > Sent: Tuesday, February 24, 2015 4:02 AM > To: Pg Hackers; Peter Eisentraut > Subject: [HACKERS] OBJECT_ATTRIBUTE is useless (or: ALTER TYPE vs ALTER TABLE > for composites) > > I found that the OBJECT_ATTRIBUTE symbol is useless. I can just remove > it and replace it with OBJECT_COLUMN, and everything continues to work; > no test fails that I can find. > > I thought we had a prohibition against ALTER TABLE when used on > composites, but it's not as severe as I thought. The following commands > fail in master: > > ALTER TABLE comptype RENAME TO comptype2; -- HINT: Use ALTER TYPE > ALTER TABLE comptype SET SCHEMA sch; -- HINT: Use ALTER TYPE > > However, the following command works in master: > > ALTER TABLE comptype RENAME COLUMN a TO b; > and has the same effect as this: > ALTER TYPE comptype RENAME ATTRIBUTE a TO b; > > The RENAME ATTTRIBUTE case in RenameStmt is the only thing currently > using OBJECT_ATTRIBUTE; therefore, since in precisely that case we do > not prohibit using ALTER TABLE, we can just remove OBJECT_ATTRIBUTE > completely. That leads to the attached patch, which changes no test > result at all. > > This symbol was added in > > commit e440e12c562432a2a695b8054964fb34e3bd823e > Author: Peter Eisentraut <peter_e@gmx.net> > Date: Sun Sep 26 14:41:03 2010 +0300 > > Add ALTER TYPE ... ADD/DROP/ALTER/RENAME ATTRIBUTE > > Like with tables, this also requires allowing the existence of > composite types with zero attributes. > > reviewed by KaiGai Kohei > > Thoughts? > > -- > Álvaro Herrera http://www.2ndQuadrant.com/ > PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
В списке pgsql-hackers по дате отправления: