Обсуждение: pgsql: Disallow ALTER TABLE ONLY / DROP EXPRESSION

Поиск
Список
Период
Сортировка

pgsql: Disallow ALTER TABLE ONLY / DROP EXPRESSION

От
Peter Eisentraut
Дата:
Disallow ALTER TABLE ONLY / DROP EXPRESSION

The current implementation cannot handle this correctly, so just
forbid it for now.

GENERATED clauses must be attached to the column definition and cannot
be added later like DEFAULT, so if a child table has a generation
expression that the parent does not have, the child column will
necessarily be an attlocal column.  So to implement ALTER TABLE ONLY /
DROP EXPRESSION, we'd need extra code to update attislocal of the
direct child tables, somewhat similar to how DROP COLUMN does it, so
that the resulting state can be properly dumped and restored.

Discussion: https://www.postgresql.org/message-id/flat/15830.1575468847%40sss.pgh.pa.us

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/bf797a8d9768239f5e3204b013044274b2c7c24a

Modified Files
--------------
src/backend/commands/tablecmds.c        | 22 +++++++++++++++++++---
src/test/regress/expected/generated.out | 11 ++++++-----
src/test/regress/sql/generated.sql      |  2 +-
3 files changed, 26 insertions(+), 9 deletions(-)