Re: [BUGS] BUG #14867: Cascade drop type error

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: [BUGS] BUG #14867: Cascade drop type error
Дата
Msg-id 4421.1508774964@sss.pgh.pa.us
обсуждение исходный текст
Ответ на [BUGS] BUG #14867: Cascade drop type error  (gomer94@yandex.ru)
Ответы Re: [BUGS] BUG #14867: Cascade drop type error
Список pgsql-bugs
gomer94@yandex.ru writes:
> CREATE TYPE my_type AS (f1 integer);
> CREATE TYPE my_type_2 AS (f2 my_type);
> CREATE TABLE my_table (c1 my_type_2);
> CREATE VIEW my_view AS SELECT ((C1).f2).f1 FROM my_table;
> DROP TYPE my_type CASCADE;

Cute.  Type my_type isn't exposed as a dependency of the view,
because it's only referenced internally in the expression tree
not as a result column type.  We can fix that easily enough by
teaching dependency.c to log the result type of a FieldSelect
as a dependency.  That results in dropping the whole view, not
just one column:

regression=# DROP TYPE my_type CASCADE;
NOTICE:  drop cascades to 2 other objects
DETAIL:  drop cascades to composite type my_type_2 column f2
drop cascades to view my_view
DROP TYPE

which is a bit annoying but I think there's no help for it.
We don't have logic that could rip apart the view query and
reconstruct it without the expression for that one column.
        regards, tom lane


-- 
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

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

Предыдущее
От: gomer94@yandex.ru
Дата:
Сообщение: [BUGS] BUG #14867: Cascade drop type error
Следующее
От: Andres Freund
Дата:
Сообщение: Re: [BUGS] BUG #14867: Cascade drop type error