Fix UPDATE of GENERATED ALWAYS identity columns

The bug would previously prevent the update of any column in a table
with identity columns, rather than just the actual identity column.

Reported-by: zam6ak@gmail.com
Bug: #14718
This commit is contained in:
Peter Eisentraut 2017-06-30 23:44:17 -04:00
parent 572d6ee6d4
commit ef74e03ef6

View File

@ -827,7 +827,7 @@ rewriteTargetListIU(List *targetList,
if (commandType == CMD_UPDATE)
{
if (att_tup->attidentity == ATTRIBUTE_IDENTITY_ALWAYS && !apply_default)
if (att_tup->attidentity == ATTRIBUTE_IDENTITY_ALWAYS && new_tle && !apply_default)
ereport(ERROR,
(errcode(ERRCODE_GENERATED_ALWAYS),
errmsg("column \"%s\" can only be updated to DEFAULT", NameStr(att_tup->attname)),