A tidbit I spotted while playing in tablecmds.c

Поиск
Список
Период
Сортировка
От Greg Stark
Тема A tidbit I spotted while playing in tablecmds.c
Дата
Msg-id CAM-w4HMCUh0xzpo-nYnHGtaBa4WY4fwkx7gMDvDZ8WZ+q+NFsw@mail.gmail.com
обсуждение исходный текст
Ответы Re: A tidbit I spotted while playing in tablecmds.c  (Andres Freund <andres@anarazel.de>)
Список pgsql-hackers
I think this is a bug:

postgres=# alter table only  x2 add if not exists i integer;
ERROR:  42701: column "i" of relation "x2" already exists

Note that it does not occur without the ONLY:

postgres=# alter table x2 add if not exists i integer;
NOTICE:  42701: column "i" of relation "x2" already exists, skipping
ALTER TABLE

And I think this would fix it:

diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c
index eef3b3a26c..ad8c176793 100644
--- a/src/backend/commands/tablecmds.c
+++ b/src/backend/commands/tablecmds.c
@@ -4054,7 +4054,7 @@ ATExecCmd(List **wqueue, AlteredTableInfo *tab,
Relation rel,
  case AT_AddColumnToView: /* add column via CREATE OR REPLACE VIEW */
  address = ATExecAddColumn(wqueue, tab, rel, (ColumnDef *) cmd->def,
    false, false,
-   false, lockmode);
+   cmd->missing_ok, lockmode);
  break;
  case AT_AddColumnRecurse:
  address = ATExecAddColumn(wqueue, tab, rel, (ColumnDef *) cmd->def,




-- 
greg


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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: slow queries over information schema.tables
Следующее
От: ilmari@ilmari.org (Dagfinn Ilmari Mannsåker)
Дата:
Сообщение: Re: [PATCH] Improve tab completion for CREATE TABLE