Re: BUG #16520: Deleting from non-existent column in CTE removes all rows

Поиск
Список
Период
Сортировка
От David G. Johnston
Тема Re: BUG #16520: Deleting from non-existent column in CTE removes all rows
Дата
Msg-id CAKFQuwbY5dPkv1GNsuxyoPpCYPrao=W0P5NnQ==wBq7vMR-KEQ@mail.gmail.com
обсуждение исходный текст
Ответ на BUG #16520: Deleting from non-existent column in CTE removes all rows  (PG Bug reporting form <noreply@postgresql.org>)
Список pgsql-bugs
On Tuesday, June 30, 2020, PG Bug reporting form <noreply@postgresql.org> wrote:
The following bug has been logged on the website:

Bug reference:      16520
Logged by:          Jesse Lieberg
Email address:      jesse007@ymail.com
PostgreSQL version: 12.3
Operating system:   debian:buster-slim
Description:       

However, the this will not return an error and instead deletes all rows:
```
WITH to_delete AS (
  SELECT MIN(id), username
  FROM test
  GROUP BY username
  HAVING count(*) > 1
)
DELETE FROM test
WHERE id IN (
  SELECT id
  FROM to_delete
);

Yes, because the column id does exist - you just omitted the table reference which ends up making the subquery query equivalent to:  “select test.id from to_delete” which is mandatory, and generally useful, sql syntax.

David J.

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

Предыдущее
От: Michael Meskes
Дата:
Сообщение: Re: [BUG][PATCH] ecpg crash with bytea type and cursors
Следующее
От: Jehan-Guillaume de Rorthais
Дата:
Сообщение: Re: [BUG][PATCH] ecpg crash with bytea type and cursors