Re: Undocumented behavior od DROP SCHEMA ... CASCADE
От | Tom Lane |
---|---|
Тема | Re: Undocumented behavior od DROP SCHEMA ... CASCADE |
Дата | |
Msg-id | 25576.1471010504@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: Undocumented behavior od DROP SCHEMA ... CASCADE ("David G. Johnston" <david.g.johnston@gmail.com>) |
Ответы |
Re: Undocumented behavior od DROP SCHEMA ... CASCADE
Re: Undocumented behavior od DROP SCHEMA ... CASCADE |
Список | pgsql-docs |
"David G. Johnston" <david.g.johnston@gmail.com> writes: > On Fri, Aug 12, 2016 at 8:54 AM, Vik Fearing <vik@2ndquadrant.fr> wrote: >> I think the OP is complaining that cascading to b.v is not sufficiently >> documented. It seems logical to me that this would be the correct >> behavior, but since at least one person got confused enough about it to >> come and tell us, we should probably add some kind of warning or something. > Yeah, it should probably be modified to something like: > Automatically drop objects (tables, functions, etc...) that are contained > in the schema. Each object dropped is also done with the CASCADE option. > This means that others schemas will be affected if they depend on objects > in the named schema. If we're going to add a warning about CASCADE being recursive, it would logically need to be added to every last DROP command that has a CASCADE option, which is most of them. I don't necessarily object to that, but we'd need a more boiler-plate, copy-and-pasteable phrasing. A quick survey says that DROP SCHEMA is just about the only such command that isn't documented with wording along the lines of "Automatically drop objects that depend on the <whatever>", often with a parenthetical "such as" to illustrate what sorts of objects might be dependent. I think the variant wording for DROP SCHEMA was intentional, with the thought that it was easy to specify exactly which objects "depend on" a schema --- but is that decision contributing to the confusion? I'm inclined to suggest that maybe the generic phrasing could be "Automatically drop objects that depend on the <whatever> [(such as ...)], and in turn all objects that depend on those objects". regards, tom lane
В списке pgsql-docs по дате отправления: