On Fri, Apr 30, 2021 at 2:49 PM Dilip Kumar <dilipbal...@gmail.com> wrote: > Looking into this again, why not as shown below? IMHO, this way the > code will be logically the same as it was before the patch, basically > why to process an extra statement ( *volatility_item = defel;) if we > have already decided to error.
I changed my mind given the concerns raised on removing the goto statements. We could just do as below: diff --git a/src/backend/commands/functioncmds.c b/src/backend/commands/functioncmds.c index 9548287217..1f1c74c379 100644 --- a/src/backend/commands/functioncmds.c +++ b/src/backend/commands/functioncmds.c @@ -575,7 +575,7 @@ compute_common_attribute(ParseState *pstate, duplicate_error: ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR), - errmsg("conflicting or redundant options"), + errmsg("option \"%s\" specified more than once", defel->defname), parser_errposition(pstate, defel->location))); return false; /* keep compiler quiet */ I'm not attaching above one line change as a patch, maybe Vignesh can merge this into the main patch. With Regards, Bharath Rupireddy. EnterpriseDB: http://www.enterprisedb.com