Re: Virtual generated columns
От | Peter Eisentraut |
---|---|
Тема | Re: Virtual generated columns |
Дата | |
Msg-id | c0ee263d-4111-4d84-b408-ed55c6603bb2@eisentraut.org обсуждение исходный текст |
Ответ на | Virtual generated columns (Peter Eisentraut <peter@eisentraut.org>) |
Список | pgsql-hackers |
On 04.12.24 05:55, jian he wrote: > On Fri, Nov 29, 2024 at 6:13 PM Peter Eisentraut <peter@eisentraut.org> wrote: >> >> - Added support for virtual columns in trigger column lists. (For that, >> I renamed ExecInitStoredGenerated() to ExecInitGenerated(), which >> handles the computation of ri_extraUpdatedCols.) >> > > why not duplicate some code from ExecInitStoredGenerated to > ExecGetExtraUpdatedCols? This answers itself: I'd rather not duplicate code. I don't see that as an improvement. > * now the expression is that something initiated for the virtual > generated column. which may not be necessary for virtual columns. > let's make ResultRelInfo->ri_GeneratedExprsI, > ResultRelInfo->ri_GeneratedExprsU be NULL for virtual columns. > > currently it may look like this: > (gdb) p resultRelInfo->ri_GeneratedExprsU > $20 = (ExprState **) 0x34f9638 > (gdb) p resultRelInfo->ri_GeneratedExprsU[0] > $21 = (ExprState *) 0x0 > (gdb) p resultRelInfo->ri_GeneratedExprsU[1] > $22 = (ExprState *) 0x0 > (gdb) p resultRelInfo->ri_GeneratedExprsU[2] > $23 = (ExprState *) 0x40 I have fixed that in v11. > * ExecInitStoredGenerated main used in ExecComputeStoredGenerated. > * we also need to slightly change ExecInitGenerated's comments. also fixed > * in InitResultRelInfo, do we need explicit set ri_Generated_valid to false? Doesn't seem necessary. The struct is initialized to zero at the beginning.
В списке pgsql-hackers по дате отправления: