Re: Virtual generated columns
От | jian he |
---|---|
Тема | Re: Virtual generated columns |
Дата | |
Msg-id | CACJufxH77uYui9tawWmn9uG=3B96+JwyYrGrrr9SSzdVTCYFwg@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Virtual generated columns (jian he <jian.universality@gmail.com>) |
Ответы |
Re: Virtual generated columns
|
Список | pgsql-hackers |
> On Wed, Nov 6, 2024 at 12:17 AM Peter Eisentraut <peter@eisentraut.org> wrote: > > > > New patch version. I've gone through the whole thread again and looked > > at all the feedback and various bug reports and test cases and made sure > > they are all addressed in the latest patch version. (I'll send some > > separate messages to respond to some individual messages, but I'm > > keeping the latest patch here.) > RelationBuildPartitionKey if (!isnull) { char *exprString; Node *expr; exprString = TextDatumGetCString(datum); expr = stringToNode(exprString); pfree(exprString); expr = expand_generated_columns_in_expr(expr, relation); } no need expand_generated_columns_in_expr? in ComputePartitionAttrs, we already forbidden generated columns to be part of the partition key. check_modified_virtual_generated, we can replace fastgetattr to heap_attisnull? like: // bool isnull; // fastgetattr(tuple, i + 1, tupdesc, &isnull); // if (!isnull) // ereport(ERROR, // (errcode(ERRCODE_E_R_I_E_TRIGGER_PROTOCOL_VIOLATED), // errmsg("trigger modified virtual generated column value"))); if (!heap_attisnull(tuple, i+1, tupdesc)) ereport(ERROR, (errcode(ERRCODE_E_R_I_E_TRIGGER_PROTOCOL_VIOLATED), errmsg("trigger modified virtual generated column value")));
В списке pgsql-hackers по дате отправления: