postgres.git / summary / log / commit / refs
commit ef74e03ef65ea870a9c372f500d33cca0a18be6e
Author: Peter Eisentraut <peter_e@gmx.net>
Date: Sat Jul 01 03:44:17 2017 +0000
First released in: 10.0
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
src/backend/rewrite/rewriteHandler.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/backend/rewrite/rewriteHandler.c b/src/backend/rewrite/rewriteHandler.c
index 622521630d7..f3c75261951 100644
--- a/src/backend/rewrite/rewriteHandler.c
+++ b/src/backend/rewrite/rewriteHandler.c
@@ -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)),
[parent: 572d6ee6d41b]