Re: Do we still need these NOTICEs?

Поиск
Список
Период
Сортировка
От Bruce Momjian
Тема Re: Do we still need these NOTICEs?
Дата
Msg-id 200207170310.g6H3AhD18277@candle.pha.pa.us
обсуждение исходный текст
Ответ на Do we still need these NOTICEs?  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
Tom Lane wrote:
> I am considering removing the following notices/warnings, since they
> seem to be unnecessary in the brave new world of dependencies:
> 
> * The one about dropping a built-in function; you can't do it anyway.
> 
> regression=# drop function now();
> WARNING:  Removing built-in function "now"
> ERROR:  Cannot drop function now because it is required by the database system
> regression=#
> 
> * The one about creating implicit triggers for FOREIGN KEY constraints:

Yep, remove them.

> regression=# create table bar (f1 int references foo);
> NOTICE:  CREATE TABLE will create implicit trigger(s) for FOREIGN KEY check(s)
> CREATE TABLE
> regression=#
> 
> Since those triggers (a) will be auto-dropped when you drop the
> constraint, and (b) can't be dropped without dropping the constraint,
> this notice seems like it's just noise now.
> 
> regression=# \d bar
>          Table "bar"
>  Column |  Type   | Modifiers
> --------+---------+-----------
>  f1     | integer |
> Triggers: RI_ConstraintTrigger_140127
> 
> regression=# drop trigger "RI_ConstraintTrigger_140127" on bar;
> ERROR:  Cannot drop trigger RI_ConstraintTrigger_140127 on table bar because constraint $1 on table bar requires it
>         You may drop constraint $1 on table bar instead
> regression=# alter table bar drop constraint "$1";
> ALTER TABLE
> regression=# \d bar
>          Table "bar"
>  Column |  Type   | Modifiers
> --------+---------+-----------
>  f1     | integer |
> 
> regression=#

Remove.

> * The ones about implicit indexes for primary key/unique constraints
> and about implicit sequences for SERIAL columns also seem unnecessary
> now --- as with the trigger case, you can't drop the implicit object
> directly anymore.  However, the messages do convey some useful
> information, namely the exact name that was assigned to the index or
> sequence.  So I'm undecided about removing 'em.  The sequence message
> seems particularly useful since people do often want to refer directly
> to the sequence in manual nextval/currval commands.  OTOH psql's \d is a
> perfectly reasonable way to get the sequence and index names if you need
> 'em.  Moreover, that still works after the fact whereas a NOTICE soon
> disappears from sight.

I would remove them all.  If people complain, we can add them back in. 
Why not remove them and keep the diff on your machine somewhere.  If
we get complaints, we can re-add them.  We already get complaints about
people _not_ wanting to see them, and hence the request to disable
NOTICE messages in psql, which will be possible in 7.3.

Now that we have them auto-dropped, it is appropriate for them not to
appear during creation.  We mentioned them in the past specifically so
people would know they existed to drop them.  Now, they don't need to
know that anymore.

--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
853-3000+  If your life is a hard drive,     |  830 Blythe Avenue +  Christ can be your backup.        |  Drexel Hill,
Pennsylvania19026
 


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

Предыдущее
От: Joe Conway
Дата:
Сообщение: Re: pg_views.definition
Следующее
От: Bruce Momjian
Дата:
Сообщение: Re: DROP COLUMN