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 по дате отправления: