Re: Virtual generated columns
От | jian he |
---|---|
Тема | Re: Virtual generated columns |
Дата | |
Msg-id | CACJufxEVXKDWyxf-kAtodvOXrTA68O8kC5op0v4Rcpf8ORoPeQ@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Virtual generated columns (Richard Guo <guofenglinux@gmail.com>) |
Список | pgsql-hackers |
On Thu, May 29, 2025 at 11:06 AM Richard Guo <guofenglinux@gmail.com> wrote: > > On Fri, May 16, 2025 at 5:35 PM jian he <jian.universality@gmail.com> wrote: > > we have used the USING expression in ATPrepAlterColumnType, > > ATColumnChangeRequiresRewrite. > > expanding it on ATPrepAlterColumnType seems to make more sense? > > > > @@ -14467,7 +14467,7 @@ ATPrepAlterColumnType(List **wqueue, > > */ > > newval = (NewColumnValue *) palloc0(sizeof(NewColumnValue)); > > newval->attnum = attnum; > > - newval->expr = (Expr *) transform; > > + newval->expr = (Expr *) > > expand_generated_columns_in_expr(transform, rel, 1); > > newval->is_generated = false; > > Yeah, ATPrepAlterColumnType does seem like a better place. But we > need to ensure that ATColumnChangeRequiresRewrite sees the expanded > version of the expression — your proposed change fails to do that. > > Additionally, I think we also need to ensure that the virtual > generated columns are expanded before the expression is fed through > expression_planner, to ensure it can be successfully transformed into > an executable form. > > Hence, the attached patch. looks good to me.
В списке pgsql-hackers по дате отправления: