Re: Set all variable-length fields of pg_attribute to null on column drop

Поиск
Список
Период
Сортировка
От Alvaro Herrera
Тема Re: Set all variable-length fields of pg_attribute to null on column drop
Дата
Msg-id 202312220905.sq4wbn4gwopy@alvherre.pgsql
обсуждение исходный текст
Ответ на Set all variable-length fields of pg_attribute to null on column drop  (Peter Eisentraut <peter@eisentraut.org>)
Ответы Re: Set all variable-length fields of pg_attribute to null on column drop  (Peter Eisentraut <peter@eisentraut.org>)
Список pgsql-hackers
On 2023-Nov-30, Peter Eisentraut wrote:

> I noticed that when a column is dropped, RemoveAttributeById() clears out
> certain fields in pg_attribute, but it leaves the variable-length fields at
> the end (attacl, attoptions, and attfdwoptions) unchanged. This is probably
> harmless, but it seems wasteful and unclean, and leaves potentially dangling
> data lying around (for example, attacl could contain references to users
> that are later also dropped).

Yeah, this looks like an ancient oversight -- when DROP COLUMN was added
we didn't have any varlena fields in this catalog, and when the first
one was added (attacl in commit 3cb5d6580a33) resetting it on DROP
COLUMN was overlooked.

LGTM.

-- 
Álvaro Herrera         PostgreSQL Developer  —  https://www.EnterpriseDB.com/
"No hay ausente sin culpa ni presente sin disculpa" (Prov. francés)



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

Предыдущее
От: Xiaoran Wang
Дата:
Сообщение: Re: Avoid computing ORDER BY junk columns unnecessarily
Следующее
От: Sébastien Lardière
Дата:
Сообщение: Re: planner chooses incremental but not the best one