[BUG?] strange behavior in ALTER TABLE ... RENAME TO on inherited columns

Поиск
Список
Период
Сортировка
От KaiGai Kohei
Тема [BUG?] strange behavior in ALTER TABLE ... RENAME TO on inherited columns
Дата
Msg-id 4AF120DF.3070108@ak.jp.nec.com
обсуждение исходный текст
Ответы Re: [BUG?] strange behavior in ALTER TABLE ... RENAME TO on inherited columns
Список pgsql-hackers
Is it an expected behavior?
 postgres=# CREATE TABLE t1 (a int, b int); CREATE TABLE postgres=# CREATE TABLE t2 (b int, c int); CREATE TABLE
postgres=#CREATE TABLE t3 (d int) inherits (t1, t2); NOTICE:  merging multiple inherited definitions of column "b"
CREATETABLE
 

The t3.d is inherited from t1 and t2. Its attinhcount is 2.
 postgres=# ALTER TABLE t1 RENAME b TO x; ALTER TABLE

It alters name of the column 'b' in the t1 and its child tables ('t3').
 postgres=# SELECT * FROM t1;  a | x ---+--- (0 rows)
 postgres=# SELECT * FROM t2; ERROR:  could not find inherited attribute "b" of relation "t3"

Because t3.b is also inherited from the t2, but ALTER TABLE does not
care about multiple inherited columns well.

I think we should not allow to rename a column with attinhcount > 1.

Any comments?

Thanks,
-- 
OSS Platform Development Division, NEC
KaiGai Kohei <kaigai@ak.jp.nec.com>


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: DISTINCT ON
Следующее
От: Fujii Masao
Дата:
Сообщение: Re: [BUGS] BUG #4961: pg_standby.exe crashes with no args