Re: ALTER COLUMN ... SET EXPRESSION to alter stored generated column's expression
От | Peter Eisentraut |
---|---|
Тема | Re: ALTER COLUMN ... SET EXPRESSION to alter stored generated column's expression |
Дата | |
Msg-id | 70d7eac3-1532-488d-856d-0ec55e94a92b@eisentraut.org обсуждение исходный текст |
Ответ на | Re: ALTER COLUMN ... SET EXPRESSION to alter stored generated column's expression (Amul Sul <sulamul@gmail.com>) |
Ответы |
Re: ALTER COLUMN ... SET EXPRESSION to alter stored generated column's expression
|
Список | pgsql-hackers |
On 11.12.23 13:22, Amul Sul wrote: > > create table t1 (a int, b int generated always as (a + 1) stored); > alter table t1 add column c int, alter column b set expression as (a > + c); > ERROR: 42703: column "c" does not exist > > I think intuitively, this ought to work. Maybe just moving the new > pass > after AT_PASS_ADD_COL would do it. > > > I think we can't support that (like alter type) since we need to place > this new > pass before AT_PASS_OLD_INDEX & AT_PASS_OLD_CONSTR to re-add indexes and > constraints for the validation. Could we have AT_PASS_ADD_COL before AT_PASS_OLD_*? So overall it would be ... AT_PASS_ALTER_TYPE, AT_PASS_ADD_COL, // moved AT_PASS_SET_EXPRESSION, // new AT_PASS_OLD_INDEX, AT_PASS_OLD_CONSTR, AT_PASS_ADD_CONSTR, ... This appears to not break any existing tests.
В списке pgsql-hackers по дате отправления: