Re: Disallow USING clause when altering type of generated column
От | Yugo NAGATA |
---|---|
Тема | Re: Disallow USING clause when altering type of generated column |
Дата | |
Msg-id | 20240822165947.a779e5396aa121e8802944fb@sraoss.co.jp обсуждение исходный текст |
Ответ на | Disallow USING clause when altering type of generated column (Peter Eisentraut <peter@eisentraut.org>) |
Ответы |
Re: Disallow USING clause when altering type of generated column
|
Список | pgsql-hackers |
On Thu, 22 Aug 2024 09:10:52 +0200 Peter Eisentraut <peter@eisentraut.org> wrote: > On 22.08.24 08:15, Yugo Nagata wrote: > > On Thu, 22 Aug 2024 11:38:49 +0800 > > jian he <jian.universality@gmail.com> wrote: > > > >> On Wed, Aug 21, 2024 at 4:57 PM Peter Eisentraut <peter@eisentraut.org> wrote: > >>> > >> > >> + /* > >> + * Cannot specify USING when altering type of a generated column, because > >> + * that would violate the generation expression. > >> + */ > >> + if (attTup->attgenerated && def->cooked_default) > >> + ereport(ERROR, > >> + (errcode(ERRCODE_INVALID_TABLE_DEFINITION), > >> + errmsg("cannot specify USING when altering type of generated column"), > >> + errdetail("Column \"%s\" is a generated column.", colName))); > >> + > >> > >> errcode should be ERRCODE_FEATURE_NOT_SUPPORTED? > > > > > > Although ERRCODE_INVALID_TABLE_DEFINITION is used for en error on changing > > type of inherited column, I guess that is because it prevents from breaking > > consistency between inherited and inheriting tables as a result of the command. > > In this sense, maybe, ERRCODE_INVALID_COLUMN_DEFINITION is proper here, because > > this check is to prevent inconsistency between columns in a tuple. > > Yes, that was my thinking. I think of ERRCODE_FEATURE_NOT_SUPPORTED as > "we could add it in the future", but that does not seem to apply here. + (errcode(ERRCODE_INVALID_TABLE_DEFINITION), + errmsg("cannot specify USING when altering type of generated column"), + errdetail("Column \"%s\" is a generated column.", colName))); Do you thnik ERRCODE_INVALID_TABLE_DEFINITION is more proper than ERRCODE_INVALID_COLUMN_DEFINITION in this case? Regards, Yugo Nagata -- Yugo NAGATA <nagata@sraoss.co.jp>
В списке pgsql-hackers по дате отправления: