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  (Amul Sul <sulamul@gmail.com>)
Список 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 по дате отправления:

Предыдущее
От: Peter Eisentraut
Дата:
Сообщение: Re: trying again to get incremental backup
Следующее
От: Japin Li
Дата:
Сообщение: Re: Transaction timeout